/*====================================================================*
 *
 *   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