gsibbery

Sex.c

Jun 16th, 2020
808
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 12.34 KB | None | 0 0
  1. /*sex.c*/
  2.  
  3. /* Original author unknown.  Presumably this is public domain by now.
  4.  * If you are the original author or know the original author, please
  5.  * contact <freebsd@spatula.net>
  6.  *
  7.  * Orphan code cleaned up a bit by Nick Johnson <freebsd@spatula.net>
  8.  * Completely rewrote how word wrapping works and added -w flag.
  9.  */
  10.  
  11. #include <stdio.h>
  12. #include <stdlib.h>
  13. #include <time.h>
  14. #include <ctype.h>
  15.  
  16. static char     *faster[] = {
  17.   "\"Let the games begin!\"",             "\"Sweet Jesus!\"",
  18.   "\"Not that!\"",                        "\"At last!\"",
  19.   "\"Land o' Goshen!\"",                  "\"Is that all?\"",
  20.   "\"Cheese it, the cops!\"",             "\"I never dreamed it could be\"",
  21.   "\"If I do, you won't respect me!\"",   "\"Now!\"",
  22.   "\"Open sesame!\"",                     "\"EMR!\"",
  23.   "\"Again!\"",                           "\"Faster!\"",
  24.   "\"Harder!\"",                          "\"Help!\"",
  25.   "\"Fuck me harder!\"",                  "\"Is it in yet?\"",
  26.   "\"You aren't my father!\"",            "\"Doctor, that's not *my* shou\"",
  27.   "\"No, no, do the goldfish!\"",         "\"Holy Batmobile, Batman!\"",
  28.   "\"He's dead, he's dead!\"",            "\"Take me, Robert!\"",
  29.   "\"I'm a Republican!\"",                "\"Put four fingers in!\"",
  30.   "\"What a lover!\"",                    "\"Talk dirty, you pig!\"",
  31.   "\"The ceiling needs painting,\"",      "\"Suck harder!\"",
  32.   "\"The animals will hear!\"",           "\"Not in public!\"",
  33. };
  34.  
  35. static char     *said[] = {
  36.         "bellowed",             "yelped",               "croaked",
  37.         "growled",              "panted",               "moaned",
  38.         "grunted",              "laughed",              "warbled",
  39.         "sighed",               "ejaculated",           "choked",
  40.         "stammered",            "wheezed",              "squealed",
  41.         "whimpered",            "salivated",            "tongued",
  42.         "cried",                "screamed",             "yelled",
  43.         "said",
  44. };
  45.  
  46. static char     *the[] = {
  47.         "the",
  48. };
  49.  
  50. static char     *fadj[] = {
  51.         "saucy",                "wanton",               "unfortunate",
  52.         "lust-crazed",          "nine-year-old",        "bull-dyke",
  53.         "bisexual",             "gorgeous",             "sweet",
  54.         "nymphomaniacal",       "large-hipped",         "freckled",
  55.         "forty-five year old",  "white-haired",         "large-boned",
  56.         "saintly",              "blind",                "bearded",
  57.         "blue-eyed",            "large tongued",        "friendly",
  58.         "piano playing",        "ear licking",          "doe eyed",
  59.         "sock sniffing",        "lesbian",              "hairy",
  60. };
  61.  
  62.  
  63. static char     *female[] = {
  64.    "baggage",              "hussy",                "woman",
  65.    "Duchess",              "female impersonator",  "nymphomaniac",
  66.    "virgin",               "leather freak",        "home-coming queen",
  67.    "defrocked nun",        "bisexual budgie",      "cheerleader",
  68.    "office secretary",     "sexual deviate",       "DARPA contract monitor",
  69.    "little matchgirl",     "ceremonial penguin",   "femme fatale",
  70.    "bosses' daughter",     "construction worker",  "sausage abuser",
  71.    "secretary",            "Congressman's page",   "grandmother",
  72.    "penguin",              "German shepherd",      "stewardess",
  73.    "waitress",             "prostitute",           "computer science group",
  74.    "housewife",
  75. };
  76.  
  77. static char     *asthe[] = {
  78.         "as the",
  79. };
  80.  
  81. static char     *madjec[] = {
  82.    "thrashing",            "slurping",             "insatiable",
  83.    "rabid",                "satanic",              "corpulent",
  84.    "nose-grooming",        "tripe-fondling",       "dribbling",
  85.    "spread-eagled",        "orally fixated",       "vile",
  86.    "awesomely endowed",    "handsome",             "mush-brained",
  87.    "tremendously hung",    "three-legged",         "pile-driving",
  88.    "cross-dressing",       "gerbil buggering",     "bung-hole stuffing",
  89.    "sphincter licking",    "hair-pie chewing",     "muff-diving",
  90.    "clam shucking",        "egg-sucking",          "bicycle seat sniffing",
  91. };
  92.  
  93. static char     *male[] = {
  94.    "rakehell",             "hunchback",            "lecherous lickspittle",
  95.    "archduke",             "midget",               "hired hand",
  96.    "great Dane",           "stallion",             "donkey",
  97.    "electric eel",         "paraplegic pothead",   "dirty old man",
  98.    "faggot butler",        "friar",                "black-power advocate",
  99.    "follicle fetishist",   "handsome priest",      "chicken flicker",
  100.    "homosexual flamingo",  "ex-celibate",          "drug sucker",
  101.    "ex-woman",             "construction worker",  "hair dresser",
  102.    "dentist",              "judge",                "social worker",
  103. };
  104.  
  105. static char     *diddled[] = {
  106.    "diddled",              "devoured",             "fondled",
  107.    "mouthed",              "tongued",              "lashed",
  108.    "tweaked",              "violated",             "defiled",
  109.    "irrigated",            "penetrated",           "ravished",
  110.    "hammered",             "bit",                  "tongue slashed",
  111.    "sucked",               "fucked",               "rubbed",
  112.    "grudge fucked",        "masturbated with",     "slurped",
  113. };
  114.  
  115. char *her[] = {
  116.         "her",
  117. };
  118.  
  119. static char     *titadj[] = {
  120.         "alabaster",            "pink-tipped",          "creamy",
  121.         "rosebud",              "moist",                "throbbing",
  122.         "juicy",                "heaving",              "straining",
  123.         "mammoth",              "succulent",            "quivering",
  124.         "rosey",                "globular",             "varicose",
  125.         "jiggling",             "bloody",               "tilted",
  126.         "dribbling",            "oozing",               "firm",
  127.         "pendulous",            "muscular",             "bovine",
  128. };
  129.  
  130. static char     *knockers[] = {
  131.         "globes",               "melons",               "mounds",
  132.         "buds",                 "paps",                 "chubbies",
  133.         "protuberances",        "treasures",            "buns",
  134.         "bung",                 "vestibule",            "armpits",
  135.         "tits",                 "knockers",             "elbows",
  136.         "eyes",                 "hooters",              "jugs",
  137.         "lungs",                "headlights",           "disk drives",
  138.         "bumpers",              "knees",                "fried eggs",
  139.         "buttocks",             "charlies",             "ear lobes",
  140.         "bazooms",              "mammaries",
  141. };
  142.  
  143. char *and[] = {
  144.         "and",
  145. };
  146.  
  147. static char     *thrust[] = {
  148.         "plunged",              "thrust",               "squeezed",
  149.         "pounded",              "drove",                "eased",
  150.         "slid",                 "hammered",             "squished",
  151.         "crammed",              "slammed",              "reamed",
  152.         "rammed",               "dipped",               "inserted",
  153.         "plugged",              "augured",              "pushed",
  154.         "ripped",               "forced",               "wrenched",
  155. };
  156.  
  157. static char     *his[] = {
  158.         "his",
  159. };
  160.  
  161. static char     *dongadj[] = {
  162.         "bursting",             "jutting",              "glistening",
  163.         "Brobdingnagian",       "prodigious",           "purple",
  164.         "searing",              "swollen",              "rigid",
  165.         "rampaging",            "warty",                "steaming",
  166.         "gorged",               "trunklike",            "foaming",
  167.         "spouting",             "swinish",              "prosthetic",
  168.         "blue veined",          "engorged",             "horse like",
  169.         "throbbing",            "humongous",            "hole splitting",
  170.         "serpentine",           "curved",               "steel encased",
  171.         "glass encrusted",      "knobby",               "surgically altered",
  172.         "metal tipped",         "open sored",           "rapidly dwindling",
  173.         "swelling",             "miniscule",            "boney",
  174. };
  175.  
  176. static char     *dong[] = {
  177.    "intruder",             "prong",                "stump",
  178.    "member",               "meat loaf",            "majesty",
  179.    "bowsprit",             "earthmover",           "jackhammer",
  180.    "ramrod",               "cod",                  "jabber",
  181.    "gusher",               "poker",                "engine",
  182.    "brownie",              "joy stick",            "plunger",
  183.    "piston",               "tool",                 "manhood",
  184.    "lollipop",             "kidney prodder",       "candlestick",
  185.    "John Thomas",          "arm",                  "testicles",
  186.    "balls",                "finger",               "foot",
  187.    "tongue",               "dick",                 "one-eyed wonder worm",
  188.    "canyon yodeler",       "middle leg",           "neck wrapper",
  189.    "stick shift",          "dong",                 "Linda Lovelace choker",
  190. };
  191.  
  192. static char     *intoher[] = {
  193.         "into her",
  194. };
  195.  
  196. static char     *twatadj[] = {
  197.         "pulsing",              "hungry",               "hymeneal",
  198.         "palpitating",          "gaping",               "slavering",
  199.         "welcoming",            "glutted",              "gobbling",
  200.         "cobwebby",             "ravenous",             "slurping",
  201.         "glistening",           "dripping",             "scabiferous",
  202.         "porous",               "soft-spoken",          "pink",
  203.         "dusty",                "tight",                "odiferous",
  204.         "moist",                "loose",                "scarred",
  205.         "weapon-less",          "banana stuffed",       "tire tracked",
  206.         "mouse nibbled",        "tightly tensed",       "oft traveled",
  207.         "grateful",             "festering",
  208. };
  209.  
  210. static char     *twat[] = {
  211.         "swamp.",               "honeypot.",            "jam jar.",
  212.         "butterbox.",           "furburger.",           "cherry pie.",
  213.         "cush.",                "slot.",                "slit.",
  214.         "cockpit.",             "damp.",                "furrow.",
  215.         "sanctum sanctorum.",   "bearded clam.",        "continental divide.",
  216.         "paradise valley.",     "red river valley.",    "slot machine.",
  217.         "quim.",                "palace.",              "ass.",
  218.         "rose bud.",            "throat.",              "eye socket.",
  219.         "tenderness.",          "inner ear.",           "orifice.",
  220.         "appendix scar.",       "wound.",               "navel.",
  221.         "mouth.",               "nose.",                "cunt.",
  222. };
  223.  
  224. struct table {
  225.         char    **item;
  226.         short   len;
  227. };
  228.  
  229. typedef struct table    TABLE;
  230. #define SZ(a)           sizeof(a) / sizeof(char *)
  231.  
  232. TABLE   list[] = {
  233.         {faster,         SZ(faster)},     {said,           SZ(said)},
  234.         {the,            SZ(the)},        {fadj,           SZ(fadj)},
  235.         {female,         SZ(female)},     {asthe,          SZ(asthe)},
  236.         {madjec,         SZ(madjec)},     {male,           SZ(male)},
  237.         {diddled,        SZ(diddled)},    {her,            SZ(her)},
  238.         {titadj,         SZ(titadj)},     {knockers,       SZ(knockers)},
  239.         {and,            SZ(and)},        {thrust,         SZ(thrust)},
  240.         {his,            SZ(his)},        {dongadj,        SZ(dongadj)},
  241.         {dong,           SZ(dong)},       {intoher,        SZ(intoher)},
  242.         {twatadj,        SZ(twatadj)},    {twat,           SZ(twat)},
  243.         {(char **)NULL,  (short)NULL},
  244. };
  245.  
  246. #define LLINE   50
  247. static short    lwidth;
  248. static short    wraplen;
  249.  
  250. int main(int argc, char **argv)
  251. {
  252.    register TABLE  *ttp;
  253.    register char   *cp;
  254.    int     getpid();
  255.    long     now;
  256.    char buffer[2048];
  257.    int pos, lastword;
  258.  
  259.    wraplen = 0;
  260.    if (argc > 1) {
  261.     if (!strcmp(argv[1],"-w")) {
  262.         if (argc == 3) {
  263.         wraplen = atoi(argv[2]);
  264.         } else {
  265.         wraplen = LLINE;
  266.         }
  267.     }
  268.    }
  269.  
  270.    now = time(&now) / random();
  271.    srandom(getpid() + (int)((now >> 16) + now + time(&now)));
  272.  
  273.    pos = lastword = 0;
  274.    for (ttp = list;ttp->item;++ttp,++lwidth) {
  275.       for (cp = ttp->len > 1 ? ttp->item[random() % ttp->len] :
  276.            *ttp->item;*cp;++cp,++lwidth) {
  277.     buffer[pos] = *cp;
  278.     if ((wraplen > 0) && (lwidth >= wraplen)) {
  279.         buffer[lastword] = '\n';
  280.         lwidth = pos - lastword;
  281.     }
  282.     if (isspace(*cp)) {
  283.         lastword = pos;
  284.     }
  285.     pos++;
  286.       }
  287.       buffer[pos] = ' ';
  288.       lastword = pos++;
  289.    }
  290.    buffer[pos] = '\0';
  291.  
  292.    puts(buffer);
  293.  
  294.    return(0);
  295. }
Add Comment
Please, Sign In to add comment