Sat, 04 Jul 2026 11:10:51 +0200
code improvements that avoid warnings on higher warning levels
relates to #917
| src/Makefile | file | annotate | diff | comparison | revisions | |
| src/cline.c | file | annotate | diff | comparison | revisions | |
| src/regex_parser.c | file | annotate | diff | comparison | revisions | |
| src/scanner.c | file | annotate | diff | comparison | revisions | |
| src/string_list.c | file | annotate | diff | comparison | revisions |
--- a/src/Makefile Thu Jul 02 12:47:17 2026 +0200 +++ b/src/Makefile Sat Jul 04 11:10:51 2026 +0200 @@ -24,7 +24,8 @@ include ../config.mk BUILD_DIR = ../build -SRC = arguments.c bfile_heuristics.c cline.c regex_parser.c scanner.c settings.c string_list.c +SRC = arguments.c bfile_heuristics.c cline.c regex_parser.c scanner.c \ + settings.c string_list.c OBJ = $(SRC:%.c=$(BUILD_DIR)/%.o) CFLAGS += -DVERSION='"$(VERSION)"'
--- a/src/cline.c Thu Jul 02 12:47:17 2026 +0200 +++ b/src/cline.c Sat Jul 04 11:10:51 2026 +0200 @@ -96,7 +96,7 @@ static void normalize_excluded_dirs(settings *settings) { /* normalize all paths */ - for (int i = 0 ; i < settings->excludeDirs->count ; i++) { + for (size_t i = 0 ; i < settings->excludeDirs->count ; i++) { char *arg = strdup(settings->excludeDirs->items[i]); if (strpbrk(arg, "/\\") == NULL) { /* do not normalize names */ @@ -323,11 +323,12 @@ output = new_string_list(); output->free_item = free; } - scanDirectory((scanner){directories->items[t], 0}, settings, output, result); + scanDirectory((scanner){directories->items[t], 0}, + settings, output, result); total += result->result; if (settings->verbose) { has_output |= output->count > 0; - for (int i = 0 ; i < output->count ; i++) { + for (size_t i = 0 ; i < output->count ; i++) { printf("%s", output->items[i]); } destroy_string_list(output);
--- a/src/regex_parser.c Thu Jul 02 12:47:17 2026 +0200 +++ b/src/regex_parser.c Sat Jul 04 11:10:51 2026 +0200 @@ -95,7 +95,7 @@ if (err == 0) { parser->pattern_match = 0; size_t input_len = strlen(input); - if (match.rm_eo < input_len) { + if (match.rm_eo < (regoff_t) input_len) { if (parser->count_chars) { /* do not exclude chars that occur after pattern end */ parser->matched_counted -=
--- a/src/scanner.c Thu Jul 02 12:47:17 2026 +0200 +++ b/src/scanner.c Sat Jul 04 11:10:51 2026 +0200 @@ -290,14 +290,18 @@ add_string(output, outbuf); } } else { - string_list *recoutput = settings->verbose ? new_string_list() : NULL; - scanresult recresult; + string_list *recoutput = NULL; + scanresult recresult = {0}; recresult.ext = result->ext; + if (settings->verbose) { + recoutput = new_string_list(); + } scanDirectory( (scanner) {filelist->filename, scnr.spaces+1}, settings, recoutput, &recresult); result->result += recresult.result; - if (settings->verbose && (!settings->matchesOnly || recresult.result > 0)) { + if (settings->verbose && + (!settings->matchesOnly || recresult.result > 0)) { outbuf = malloc(81); snprintf(outbuf, 81, "%*s/%*s%13u %s\n", filelist->displayname_len+scnr.spaces, filelist->displayname, @@ -376,7 +380,8 @@ /* Print and sum line count */ if (bfile) { - if (!settings->matchesOnly && !settings->dirsOnly && settings->verbose) { + if (settings->verbose && + !settings->matchesOnly && !settings->dirsOnly) { outbuf = malloc(81); snprintf(outbuf, 81, "%*s%*s%19s\n", filelist->displayname_len+scnr.spaces, @@ -387,7 +392,7 @@ } else { addResultPerExtension(result->ext, filelist->ext, res_value); result->result += res_value; - if (!settings->dirsOnly && settings->verbose) { + if (settings->verbose && !settings->dirsOnly) { outbuf = malloc(81); snprintf(outbuf, 81, "%*s%*s%13u %s\n", filelist->displayname_len+scnr.spaces, @@ -402,7 +407,8 @@ } } } else { - if (!settings->matchesOnly && !settings->dirsOnly && settings->verbose) { + if (settings->verbose && + !settings->matchesOnly && !settings->dirsOnly) { /* Print hint */ outbuf = malloc(81); snprintf(outbuf, 81, "%*s%*s%19s\n",
--- a/src/string_list.c Thu Jul 02 12:47:17 2026 +0200 +++ b/src/string_list.c Sat Jul 04 11:10:51 2026 +0200 @@ -29,13 +29,14 @@ #include <assert.h> static void do_not_free(void* item) { + (void) item; /* do not do anything with the item */ } string_list* new_string_list() { string_list* stringList = malloc(sizeof(string_list)); stringList->count = 0; stringList->capacity = 32; - stringList->items = calloc(sizeof(char*), stringList->capacity); + stringList->items = calloc(stringList->capacity, sizeof(char*)); stringList->free_item = do_not_free; return stringList;