commit: 968f80821170472f3adaab7d959efc3aff260382
parent 2e0e036511efa4b63ea34c4762a9f753eaf893df
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date: Sat, 2 May 2026 17:30:58 +0200
Use 0 for no-match, 1 for match, 2 for error (à la grep)
Diffstat:
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/fuzzmatch.c b/fuzzmatch.c
@@ -39,11 +39,11 @@ main(int argc, char *argv[])
case ':':
fprintf(stderr, "fuzzmatch: error: Missing operand for option '-%c'\n", optopt);
usage();
- return 1;
+ return 2;
default:
fprintf(stderr, "fuzzmatch: error: Unhandled option -%c\n", optopt);
usage();
- return 1;
+ return 2;
}
}
@@ -54,7 +54,7 @@ main(int argc, char *argv[])
{
fputs("fuzzmatch: error: No file argument given\n", stderr);
usage();
- return 1;
+ return 3;
}
size_t matches_len = 0;
@@ -66,14 +66,14 @@ main(int argc, char *argv[])
if(!matches)
{
fprintf(stderr, "fuzzmatch: error: Failed allocating array of 128 matches: %s\n", strerror(errno));
- return 1;
+ return 2;
}
FILE *fmatch = fopen(match, "rb");
if(fmatch < 0)
{
fprintf(stderr, "fuzzmatch: error: Failed opening match file '%s': %s\n", match, strerror(errno));
- return 1;
+ return 2;
}
size_t matchbuf_cap = FUZZY_MAX_RESULT*20;
@@ -82,7 +82,7 @@ main(int argc, char *argv[])
if(!matchbuf)
{
fprintf(stderr, "fuzzmatch: error: Failed allocating for 20 matches: %s\n", strerror(errno));
- return 1;
+ return 2;
}
char *line = NULL;
@@ -111,7 +111,7 @@ main(int argc, char *argv[])
if(!matchbuf)
{
fprintf(stderr, "fuzzmatch: error: Failed allocating for 20 more matches: %s\n", strerror(errno));
- return 1;
+ return 2;
}
}
@@ -125,7 +125,7 @@ main(int argc, char *argv[])
if(!matches)
{
fprintf(stderr, "fuzzmatch: error: Failed allocating array of 128 more matches: %s\n", strerror(errno));
- return 1;
+ return 2;
}
}
matches[matches_len++] = matchbuf + matchbuf_len;
@@ -142,7 +142,7 @@ main(int argc, char *argv[])
char res[FUZZY_MAX_RESULT];
if(fuzzy_hash_filename(argv[argi], res) != 0)
- return 1;
+ return 2;
size_t mi = 0;
for(; mi < matches_len; mi++)
@@ -151,7 +151,7 @@ main(int argc, char *argv[])
if(cmp > thresh)
{
printf("%s,%s ~~(%d%%) %s\n", res, argv[argi], cmp, matches[mi]);
- matched++;
+ matched = 1;
break;
}
}
@@ -159,5 +159,5 @@ main(int argc, char *argv[])
printf("%s,%s unmatched\n", res, argv[argi]);
}
- return (matched == 0) ? 0 : 1 + (matched % 126);
+ return matched;
}