#include <stdio.h> #include <string.h> #include <ctype.h> #include <stdlib.h> #include "kernel.h" #include "sflags.h" #include "bprintf.h" void noswear(const char *); char *fuck[] = { "&+Yf***&N", "&+Bprocreate&N", "&+W(expletive)&N" }; char *shit[] = { "&+Ys***&N", "&+W(curse)&N", "&+R(bad word)&N" }; char *ass[] = { "&+Ya**&N", "&+Wrear end&N", "&+Rbehind&N" }; char *bitch[] = { "&+Yb****&N", "&+Rfemale dog in heat&N", "&+W(bad word)&N" }; char *cunt[] = { "&+Yc***&N", "&+Ypoozle&N", "&+Wvaginal area&N", "&+W(naughty word)&N" }; char *pussy[] = { "&+Mp****&N", "&+Mpussy cat&N", "&+Y*swear*&N", "&+Yfemale private part&N" }; char *dick[] = { "&+Md***", "&+Mpenis", "&+Mwillie", "&+Msnookie" }; char *piss[] = { "&+Rurinate", "&+Wwee-wee", "&+Ypee" }; #define False 0 #define True 1 void wlower(char *word) { char *ptr; for (ptr = word ; *ptr ; ptr++) *ptr = tolower(*ptr); } void noswear(const char *srcstr) { char *oldword, *begptr, *endptr, *word; char str[300], wbuff[300], buff[1024], srcbuff[1024]; int oldlen, oldloc; *buff = *str = 0; if (!ststflg(mynum, SFL_NEWSTYLE)) strcpy(buff, "\n"); strcpy(srcbuff, srcstr); oldword = strtok(srcbuff, " "); do { strcpy(wbuff, oldword); oldlen = strlen(oldword); wlower(oldword); if ((begptr = strstr(oldword, "fuck"))) { word = fuck[rand() % 3]; endptr = begptr + 4; } else if ((begptr = strstr(oldword, "shit"))) { word = shit[rand() % 3]; endptr = begptr + 4; } else if ((begptr = strstr(oldword, "ass"))) { word = ass[rand() % 3]; endptr = begptr + 3; } else if ((begptr = strstr(oldword, "pussy"))) { word = pussy[rand() % 4]; endptr = begptr + 5; } else if ((begptr = strstr(oldword, "bitch"))) { word = bitch[rand() % 3]; endptr = begptr + 5; } else if ((begptr = strstr(oldword, "cunt"))) { word = cunt[rand() % 4]; endptr = begptr + 4; } else if ((begptr = strstr(oldword, "dick"))) { word = dick[rand() % 4]; endptr = begptr + 4; } else if ((begptr = strstr(oldword, "piss"))) { word = piss[rand() % 3]; endptr = begptr + 4; } else { strcat(buff, wbuff); continue; } oldloc = oldlen - strlen(begptr); if (oldloc) strncat(buff, oldword, oldloc); /* add on head */ strcat(buff, word); /* add word */ if (endptr) strcat(buff, endptr); /* add on tail */ } while((oldword = strtok(NULL, " ")) && strcat(buff, " ")); bprintf("%s", buff); }