Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

73 lines
1.1 KiB

// wild.c
//
// wildcard file matching
//
//
#include <string.h>
#if defined(OS2)
#define INCL_NOCOMMON
#define INCL_DOSPROCESS
#define INCL_DOSSEMAPHORES
#define INCL_DOSFILEMGR
#define INCL_DOSERRORS
#define INCL_DOSMISC
#include <os2.h>
#else
#include <windows.h>
#endif
#include <dos.h>
#include "hungary.h"
#include "bsc.h"
BOOL BSC_API
FWildMatch(LSZ pchPat, LSZ pchText)
// return TRUE if pchText matchs pchPat in the dos wildcard sense
//
// REVIEW for 1.2 file name support
//
{
for (;;) {
switch (*pchPat) {
case '\0':
return *pchText == '\0';
case '.':
pchPat++;
switch (*pchText) {
case '.':
pchText++;
break;
case '\0':
break;
default:
return FALSE;
}
break;
case '*':
pchPat++;
while (*pchText != '\0' && *pchText != '.')
pchText++;
while (*pchPat != '\0' && *pchPat != '.')
pchPat++;
break;
case '?':
pchPat++;
if (*pchText != '\0' && *pchText != '.')
pchText++;
break;
default:
if (*pchText != *pchPat)
return FALSE;
pchPat++;
pchText++;
break;
}
}
}