minix/lib/libsffs/name.c
David van Moolenbroek ef7b484e5c Create SFFS library out of HGFS
This Shared Folders File System library (libsffs) now contains all the
file system logic originally in HGFS. The actual HGFS server code is
now a stub that passes on all the work to libsffs. The libhgfs library
is changed accordingly.
2012-04-09 18:08:26 +02:00

56 lines
1.3 KiB
C

/* This file contains path component name utility functions.
*
* The entry points into this file are:
* normalize_name normalize a path component name for hashing purposes
* compare_name check whether two path component names are equivalent
*
* Created:
* April 2009 (D.C. van Moolenbroek)
*/
#include "inc.h"
#include <ctype.h>
/*===========================================================================*
* normalize_name *
*===========================================================================*/
void normalize_name(dst, src)
char dst[NAME_MAX+1];
char *src;
{
/* Normalize the given path component name, storing the result in the given
* buffer.
*/
size_t i, size;
size = strlen(src) + 1;
assert(size <= NAME_MAX+1);
if (sffs_params->p_case_insens) {
for (i = 0; i < size; i++)
*dst++ = tolower(*src++);
}
else memcpy(dst, src, size);
}
/*===========================================================================*
* compare_name *
*===========================================================================*/
int compare_name(name1, name2)
char *name1;
char *name2;
{
/* Return TRUE if the given path component names are equivalent, FALSE
* otherwise.
*/
int r;
if (sffs_params->p_case_insens)
r = strcasecmp(name1, name2);
else
r = strcmp(name1, name2);
return r ? FALSE : TRUE;
}