cdirt/ascii/
cdirt/data/BULL/
cdirt/data/ZONES/PENDING/
cdirt/pending/
cdirt/src/utils/
cdirt/utils/
#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);
}