HuntnGather

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 2  →  ?path2? @ 3
/trunk/HuntnGather/Hunt/Hunt.c/Hunt.c
@@ -61,10 +61,43 @@
}
 
/*
* Compare "name" and "needle" for equality.
*/
int compare(char *name, char *needle) {
#if defined ___AmigaOS___
ULONG size;
char *upn, *upe;
int success;
UBYTE *pattern;
 
upe = strupr(needle);
upn = strupr(name);
 
size = strlen(upe) * 3;
 
if(pattern = AllocVec(size, MEMF_ANY|MEMF_CLEAR)) {
 
if(ParsePatternNoCase(upe, pattern, (LONG)size) >= 0) {
success = MatchPatternNoCase(pattern, upn);
 
FreeMem(pattern, size);
 
return success;
}
}
 
return FALSE;
#else
return strstr(strupr(name), strupr(needle) != NULL;
#endif
}
 
 
/*
*
* Search the database for a matching string.
*/
void SearchDatabase(char *dbFile, char* string) {
void SearchDatabase(char *dbFile, char* needle) {
FILE *fp;
char *name;
char *path;
@@ -110,7 +143,7 @@
break;
case '\t':
// Case insensitive match.
if(strstr(strupr(name), strupr(string)) != NULL) {
if(compare(name, needle)) {
match = TRUE;
}
if(path != NULL) {
@@ -168,17 +201,17 @@
dbFile = optarg;
break;
case 'h':
fprintf(stdout, "SYNTAX: %s [-d DATABASE] STRING\n", argv[0]);
fprintf(stdout, "SYNTAX: %s [-d DATABASE] PATTERN\n", argv[0]);
break;
case '?':
fprintf(stderr, "Invalid option %c.\n", optopt);
fprintf(stdout, "SYNTAX: %s [-d DATABASE] STRING\n", argv[0]);
fprintf(stdout, "SYNTAX: %s [-d DATABASE] PATTERN\n", argv[0]);
return 1;
}
}
 
if(optind > argc) {
fprintf(stdout, "SYNTAX: %s [-d DATABASE] STRING\n", argv[0]);
fprintf(stdout, "SYNTAX: %s [-d DATABASE] PATTERN\n", argv[0]);
return 1;
}