/*====================================================================*
*
* bool checkfilename (char const * pathname);
*
* files.h
*
* confirm that the filename portion of a pathname string contains
* only letters, digits, periods, underscores and hyphens;
*
* this prevents users from entering an Ethernet address where a
* filename should appear on the command line; Ethernet addresses
* are also valid filenames;
*
* Motley Tools by Charles Maier <cmaier@cmassoc.net>;
* Copyright (c) 2001-2006 by Charles Maier Associates;
* Licensed under the Internet Software Consortium License;
*
*--------------------------------------------------------------------*/
#ifndef CHECKFILENAME_SOURCE
#define CHECKFILENAME_SOURCE
#include <string.h>
#include <ctype.h>
#include "../tools/files.h"
bool checkfilename (char const * pathname)
{
char const * filename = pathname;
while (*pathname)
{
if ((*pathname == '/') || (*pathname == '\\'))
{
filename = pathname + 1;
}
pathname++;
}
while (isalnum (*filename) || (*filename == '.') || (*filename == '_') || (*filename == '-'))
{
filename++;
}
return (*filename == (char) (0));
}
#endif