#define clipret(A) (A)[strlen(A) - 1] = '\0'
#define allocate(A) (A *)malloc(sizeof(A))
#define copystring(A,B) A = (char *)calloc(strlen(B) + 1, sizeof(char));\
	strcpy ((A), (B))

void lowercase (char *);
/* converts a string to lowercase */

char *find(char *, char *);
/* acts like find [above] but makes sure the string is not a part of a
different word */

char *findstr(char *, char *);
/* looks for string 2 inside string 1, and returns a ptr to that location */

char *quotestrip(char *);
/* creates a string that is taken from inside the outer quotes of a line */

char *tokenize(char *, char *);
/* string 1 will be filled with the next word in string 2, and a pointer to the
following word is returned [make sure string 1 has been allocated.]
i.e.:
string1 is allocated
string2 = "this time we mean war"
after run:
string1 = "this"
string2 = "this time we mean war"
return = "time we mean war"
*/

char *clip(char *, char *);
/* returns a string, with the start being string1 and the end being string2 */

int strcasecmp (char *, char *);
int strncasecmp (char *, char *, int);