int strcasecmp ( const char*, const char* );
int strncasecmp ( const char*, const char*, int );
int strncmp ( const char*, const char*, int );
int rstrcasecmp ( const char*, const char* );
int rstrncasecmp ( const char*, const char*, int );
char* strcat ( char*, const char* );
bool matches ( const char*&, const char* );
bool exact_match ( const char*&, const char* );
bool fmatches ( const char*, const char*, int = 0 );
bool number_arg ( const char*&, int& );
bool contains_word ( const char*&, const char*, char* );
bool two_argument ( const char*&, const char*, char* );
char* one_argument ( const char*, char* );
int subset ( const char*, const char*, bool = FALSE );
int member ( const char*, const char*, bool = FALSE );
int compare ( const char*, const char*, bool = FALSE,
int = 3 );
bool isvowel ( char letter );
bool is_name ( char*, const char*, bool = FALSE );
const char* break_line ( const char*, char*, int );
const char* word_list ( const char**, int, bool = TRUE );
void smash_spaces ( char* );
char* capitalize ( char* );
char* capitalize_words ( const char* );
void add_spaces ( char*, int );
char* seperate ( char*, bool );
/*
* INLINE UTILITY ROUTINES
*/
inline int count( const char* s )
{
int i;
for( ; *s == ' '; s++ );
for( i = 0; *s != '\0'; i++ ) {
for( ; *s != '\0' && *s != ' '; s++ );
for( ; *s == ' '; s++ );
}
return i;
}
inline int count( char* s )
{
return count( (const char*) s );
}
inline char* truncate( char* string, int length )
{
if( strlen( string ) > length )
strcpy( string+length-3, "..." );
return string;
}
inline void skip_spaces( char*& arg )
{
for( ; isspace( *arg ); arg++ );
return;
}
inline void skip_spaces( const char*& arg )
{
for( ; isspace( *arg ); arg++ );
return;
}
inline bool matches( const char*& argument, const char* word, bool exact )
{
return( exact ? exact_match( argument, word )
: matches( argument, word ) );
}
/*
* STATIC STRINGS
*/
extern char static_storage [ 10*THREE_LINES ];
extern int store_pntr;
inline char* static_string( void )
{
store_pntr = ( store_pntr+1 )%10;
return &static_storage[store_pntr*THREE_LINES];
}
inline char* static_string( const char* msg )
{
char* tmp = static_string( );
strcpy( tmp, msg );
return tmp;
}