Added internal function __PHYSFS_platformStrnicmp().
This commit is contained in:
parent
13d6a130fd
commit
09ef260209
|
@ -1313,6 +1313,11 @@ PHYSFS_uint64 __PHYSFS_platformGetThreadID(void);
|
||||||
*/
|
*/
|
||||||
int __PHYSFS_platformStricmp(const char *str1, const char *str2);
|
int __PHYSFS_platformStricmp(const char *str1, const char *str2);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is a pass-through to whatever strnicmp() is called on your platform.
|
||||||
|
*/
|
||||||
|
int __PHYSFS_platformStrnicmp(const char *s1, const char *s2, PHYSFS_uint32 l);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return non-zero if filename (in platform-dependent notation) exists.
|
* Return non-zero if filename (in platform-dependent notation) exists.
|
||||||
* Symlinks should NOT be followed; at this stage, we do not care what the
|
* Symlinks should NOT be followed; at this stage, we do not care what the
|
||||||
|
|
|
@ -350,6 +350,13 @@ int __PHYSFS_platformStricmp(const char *x, const char *y)
|
||||||
} /* __PHYSFS_platformStricmp */
|
} /* __PHYSFS_platformStricmp */
|
||||||
|
|
||||||
|
|
||||||
|
int __PHYSFS_platformStrnicmp(const char *x, const char *y, PHYSFS_uint32 l)
|
||||||
|
{
|
||||||
|
extern int _strnicmp(const char *, const char *, int);
|
||||||
|
return(_strnicmp(x, y, (int) l)); /* (*shrug*) */
|
||||||
|
} /* __PHYSFS_platformStricmp */
|
||||||
|
|
||||||
|
|
||||||
static OSErr fnameToFSSpecNoAlias(const char *fname, FSSpec *spec)
|
static OSErr fnameToFSSpecNoAlias(const char *fname, FSSpec *spec)
|
||||||
{
|
{
|
||||||
OSErr err;
|
OSErr err;
|
||||||
|
|
|
@ -340,6 +340,30 @@ int __PHYSFS_platformStricmp(const char *x, const char *y)
|
||||||
} /* __PHYSFS_platformStricmp */
|
} /* __PHYSFS_platformStricmp */
|
||||||
|
|
||||||
|
|
||||||
|
int __PHYSFS_platformStrnicmp(const char *x, const char *y, PHYSFS_uint32 len)
|
||||||
|
{
|
||||||
|
int ux, uy;
|
||||||
|
|
||||||
|
if (!len)
|
||||||
|
return(0);
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
ux = toupper((int) *x);
|
||||||
|
uy = toupper((int) *y);
|
||||||
|
if (ux > uy)
|
||||||
|
return(1);
|
||||||
|
else if (ux < uy)
|
||||||
|
return(-1);
|
||||||
|
x++;
|
||||||
|
y++;
|
||||||
|
len--;
|
||||||
|
} while ((ux) && (uy) && (len));
|
||||||
|
|
||||||
|
return(0);
|
||||||
|
} /* __PHYSFS_platformStrnicmp */
|
||||||
|
|
||||||
|
|
||||||
int __PHYSFS_platformExists(const char *fname)
|
int __PHYSFS_platformExists(const char *fname)
|
||||||
{
|
{
|
||||||
FILESTATUS3 fs;
|
FILESTATUS3 fs;
|
||||||
|
|
|
@ -211,10 +211,15 @@ PHYSFS_uint64 __PHYSFS_platformGetThreadID(void)
|
||||||
int __PHYSFS_platformStricmp(const char *x, const char *y)
|
int __PHYSFS_platformStricmp(const char *x, const char *y)
|
||||||
{
|
{
|
||||||
return(_stricmp(x, y));
|
return(_stricmp(x, y));
|
||||||
|
|
||||||
} /* __PHYSFS_platformStricmp */
|
} /* __PHYSFS_platformStricmp */
|
||||||
|
|
||||||
|
|
||||||
|
int __PHYSFS_platformStrnicmp(const char *x, const char *y, PHYSFS_uint32 len)
|
||||||
|
{
|
||||||
|
return(_strnicmp(x, y, (int) len));
|
||||||
|
} /* __PHYSFS_platformStrnicmp */
|
||||||
|
|
||||||
|
|
||||||
int __PHYSFS_platformExists(const char *fname)
|
int __PHYSFS_platformExists(const char *fname)
|
||||||
{
|
{
|
||||||
int retval=0;
|
int retval=0;
|
||||||
|
|
|
@ -141,6 +141,28 @@ int __PHYSFS_platformStricmp(const char *x, const char *y)
|
||||||
} /* __PHYSFS_platformStricmp */
|
} /* __PHYSFS_platformStricmp */
|
||||||
|
|
||||||
|
|
||||||
|
int __PHYSFS_platformStrnicmp(const char *x, const char *y, PHYSFS_uint32 len)
|
||||||
|
{
|
||||||
|
int ux, uy;
|
||||||
|
|
||||||
|
if (!len)
|
||||||
|
return(0);
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
ux = toupper((int) *x);
|
||||||
|
uy = toupper((int) *y);
|
||||||
|
if (ux != uy)
|
||||||
|
return((ux > uy) ? 1 : -1);
|
||||||
|
x++;
|
||||||
|
y++;
|
||||||
|
len--;
|
||||||
|
} while ((ux) && (uy) && (len));
|
||||||
|
|
||||||
|
return(0);
|
||||||
|
} /* __PHYSFS_platformStrnicmp */
|
||||||
|
|
||||||
|
|
||||||
#if (defined __PHYSFS_NO_SYMLINKS__)
|
#if (defined __PHYSFS_NO_SYMLINKS__)
|
||||||
#define doStat stat
|
#define doStat stat
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -68,6 +68,12 @@ int __PHYSFS_platformStricmp(const char *x, const char *y)
|
||||||
} /* __PHYSFS_platformStricmp */
|
} /* __PHYSFS_platformStricmp */
|
||||||
|
|
||||||
|
|
||||||
|
int __PHYSFS_platformStrnicmp(const char *x, const char *y, PHYSFS_uint32 l)
|
||||||
|
{
|
||||||
|
BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
|
||||||
|
} /* __PHYSFS_platformStrnicmp */
|
||||||
|
|
||||||
|
|
||||||
int __PHYSFS_platformExists(const char *fname)
|
int __PHYSFS_platformExists(const char *fname)
|
||||||
{
|
{
|
||||||
BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
|
BAIL_MACRO(ERR_NOT_IMPLEMENTED, 0);
|
||||||
|
|
|
@ -368,6 +368,34 @@ int __PHYSFS_platformStricmp(const char *x, const char *y)
|
||||||
} /* __PHYSFS_platformStricmp */
|
} /* __PHYSFS_platformStricmp */
|
||||||
|
|
||||||
|
|
||||||
|
int __PHYSFS_platformStrnicmp(const char *x, const char *y, PHYSFS_uint32 len)
|
||||||
|
{
|
||||||
|
#if (defined _MSC_VER)
|
||||||
|
return(strnicmp(x, y, (int) len));
|
||||||
|
#else
|
||||||
|
int ux, uy;
|
||||||
|
|
||||||
|
if (!len)
|
||||||
|
return(0);
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
ux = toupper((int) *x);
|
||||||
|
uy = toupper((int) *y);
|
||||||
|
if (ux > uy)
|
||||||
|
return(1);
|
||||||
|
else if (ux < uy)
|
||||||
|
return(-1);
|
||||||
|
x++;
|
||||||
|
y++;
|
||||||
|
len--;
|
||||||
|
} while ((ux) && (uy) && (len));
|
||||||
|
|
||||||
|
return(0);
|
||||||
|
#endif
|
||||||
|
} /* __PHYSFS_platformStricmp */
|
||||||
|
|
||||||
|
|
||||||
int __PHYSFS_platformExists(const char *fname)
|
int __PHYSFS_platformExists(const char *fname)
|
||||||
{
|
{
|
||||||
BAIL_IF_MACRO(GetFileAttributes(fname) == INVALID_FILE_ATTRIBUTES,
|
BAIL_IF_MACRO(GetFileAttributes(fname) == INVALID_FILE_ATTRIBUTES,
|
||||||
|
|
Loading…
Reference in New Issue