HuntnGather
/trunk/HuntnGather/Hunt/Hunt.c |
@@ -47,48 +47,27 @@ |
} |
|
/* |
* Convert string to uppercase. |
*/ |
char *strupr(char *str) { |
char *up; |
int i; |
|
up = malloc((strlen(str) + 1) * sizeof(char)); |
sprintf(up, "%s", str); |
|
i = strlen(up); |
while(--i > -1) { |
up[i] = toupper(up[i]); |
} |
|
return up; |
} |
|
/* |
* Compare "name" and "needle" for equality. |
*/ |
int compare(char *name, char *need) { |
#if defined ___AmigaOS___ |
ULONG size; |
char *upn, *upe; |
int success; |
UBYTE *pattern; |
|
upe = strupr(need); |
upn = strupr(name); |
strupr(need); |
strupr(name); |
|
size = strlen(upe) * 3; |
size = strlen(need) * 3; |
|
success = FALSE; |
|
if(pattern = AllocVec(size, MEMF_ANY|MEMF_CLEAR)) { |
|
if(ParsePatternNoCase(upe, pattern, (LONG)size) > 0) { |
success = MatchPatternNoCase(pattern, upn); |
if(ParsePatternNoCase(need, pattern, (LONG)size) > 0) { |
success = MatchPatternNoCase(pattern, name); |
|
FreeVec(pattern); |
free(upe); |
free(upn); |
|
return success; |
} |
@@ -96,18 +75,13 @@ |
FreeVec(pattern); |
} |
|
free(upe); |
free(upn); |
return success; |
|
#else |
char *upn, *upe; |
int success = FALSE; |
int success; |
|
upe = strupr(need); |
upn = strupr(name); |
success = FALSE; |
|
success = strstr(strupr(name), strupr(need)) != NULL; |
success = (strstr(strupr(name), strupr(need)) != NULL); |
|
free(upe); |
free(upn); |