From: Laurent Mazet Date: Sat, 12 Apr 2025 14:58:04 +0000 (+0200) Subject: cleaning X-Git-Url: https://secure.softndesign.org/git/?a=commitdiff_plain;h=7966f2c7353abd7d3fe68d0201837df26f9f0f17;p=fm.git cleaning --- diff --git a/display.c b/display.c index 6a309b6..c762991 100644 --- a/display.c +++ b/display.c @@ -104,25 +104,22 @@ int _helpwindow (char *msg, int xoffset, int yoffset, int length) void _displaytitle (char *title, int xoffset, int yoffset, int length) { - int i; - for (i = 0; i < length; i++) { + for (int i = 0; i < length; i++) { mvaddch (yoffset, xoffset + i, ' '); mvaddch (yoffset + 1, xoffset + i, ACS_HLINE); } - for (i = 0; title[i] != '\0'; i++) { + for (int i = 0; title[i] != '\0'; i++) { mvaddch (yoffset, xoffset + i + (length - strlen (title)) / 2, title[i]); } } void _dobound (int xsize, int ysize, int xoffset, int yoffset) { - int i, j; - - for (i = 0; i < xsize; i++) { + for (int i = 0; i < xsize; i++) { mvaddch (yoffset - 1, xoffset + i, ACS_HLINE); mvaddch (yoffset + ysize, xoffset + i, ACS_HLINE); } - for (j = 0; j < ysize; j++) { + for (int j = 0; j < ysize; j++) { mvaddch (yoffset + j, xoffset - 1, ACS_VLINE); mvaddch (yoffset + j, xoffset + xsize, ACS_VLINE); } @@ -155,9 +152,8 @@ int helpwindow (char *msg, int xoffset, int yoffset) void menuwindow (window_t *win, char *menu, int *index, char *opt) { - int i; set_color (black); - for (i = 0; i < win->xsize; i++) { + for (int i = 0; i < win->xsize; i++) { mvaddch (win->yoffset, win->xoffset + i, ' '); } @@ -175,6 +171,7 @@ void menuwindow (window_t *win, char *menu, int *index, char *opt) *index = _index; } + int i; for (i = 0; (i < win->xsize) && (menu[_index + i] != 0); i++) { set_color (((menu[_index + i] >= 'A') && (menu[_index + i] <= 'Z')) ? iblue : black); mvaddch (win->yoffset, win->xoffset + i, menu[_index + i]); @@ -197,8 +194,6 @@ void menuwindow (window_t *win, char *menu, int *index, char *opt) void displaywindow (window_t *win, list_t *list, int page, int *index_x, int *index_y, int *index_f, char *search) { - int i, j; - win->nbcols = win->xsize / (list->width + 1); if (win->nbcols == 0) { win->nbcols = 1; @@ -230,15 +225,15 @@ void displaywindow (window_t *win, list_t *list, int page, int *index_x, int *in VERBOSE (DEBUG, fprintf (stderr, "index: %d\n", index)); set_color (white); - for (i = 0; i < win->xsize; i++) { - for (j = 0; j < win->ysize; j++) { + for (int i = 0; i < win->xsize; i++) { + for (int j = 0; j < win->ysize; j++) { mvaddch (win->yoffset + j, win->xoffset + i, ' '); } } int maxpos = 0; int slen = (search) ? strlen (search) : 0; - for (i = j = 0; i < list->nb; i++, j++) { + for (int i = 0, j = 0; i < list->nb; i++, j++) { if ((j + 1 ) % n == 0) { if (rem > 0) { rem--; @@ -291,8 +286,7 @@ void displaywindow (window_t *win, list_t *list, int page, int *index_x, int *in int len = strlen (elem->name); if (len <= win->width) { int highlight = 0; - int k; - for (k = 0; k < len; k++) { + for (int k = 0; k < len; k++) { if ((slen) && (strncmp (elem->name + k, search, slen) == 0)) { highlight = slen; } @@ -311,8 +305,7 @@ void displaywindow (window_t *win, list_t *list, int page, int *index_x, int *in if (maxpos < pos) { maxpos = pos; } - int k; - for (k = 0; k < win->width; k++) { + for (int k = 0; k < win->width; k++) { if ((slen) && (strncmp (elem->name + k + pos, search, slen) == 0)) { highlight = slen; } @@ -359,8 +352,7 @@ void displaywindow (window_t *win, list_t *list, int page, int *index_x, int *in void elementwindow (window_t *win, char *status, int *index) { - int i; - for (i = 0; i < win->xsize; i++) { + for (int i = 0; i < win->xsize; i++) { mvaddch (win->yoffset, win->xoffset + i, ' '); } @@ -378,7 +370,7 @@ void elementwindow (window_t *win, char *status, int *index) *index = _index; } - for (i = 0; (i < win->xsize) && (status[_index + i] != 0); i++) { + for (int i = 0; (i < win->xsize) && (status[_index + i] != 0); i++) { mvaddch (win->yoffset, win->xoffset + i, status[_index + i]); } @@ -394,7 +386,6 @@ void elementwindow (window_t *win, char *status, int *index) char *getwindow (char *msg, window_t *win, int length, int size, char *init) { - int j; char *name = (char *) calloc (size + 1, 1); CHECKALLOC (name); memset (name, ' ', size); @@ -416,7 +407,7 @@ char *getwindow (char *msg, window_t *win, int length, int size, char *init) mvaddch (yoffset, xoffset, ' '); xoffset++; set_color (bcyan); - for (j = 0; (j < length) && (name[j] != '\0'); j++) { + for (int j = 0; (j < length) && (name[j] != '\0'); j++) { mvaddch (yoffset, xoffset + j, name[j]); } set_color (white); @@ -424,7 +415,7 @@ char *getwindow (char *msg, window_t *win, int length, int size, char *init) int i = 0, l = 0; int stop = 0; while (!stop) { - for (j = 0; (j < length) && (name[j + l] != '\0'); j++) { + for (int j = 0; (j < length) && (name[j + l] != '\0'); j++) { set_color ((j == i) ? cyan : bcyan); mvaddch (yoffset, xoffset + j, name[j + l]); set_color (bblue); @@ -482,7 +473,7 @@ char *getwindow (char *msg, window_t *win, int length, int size, char *init) if (name) { VERBOSE (DEBUG, fprintf (stderr, "name: '%s'\n", name)); - for (j = size - 1; (j >= 0) && (name[j] == ' '); j--) { + for (int j = size - 1; (j >= 0) && (name[j] == ' '); j--) { name[j] = '\0'; } for (i = 0; name[i] == ' '; i++); @@ -514,8 +505,6 @@ void _msgwindow (char *msg, window_t *win, int length) int askwindow (char *msg, window_t *win, char *ok, char *ko) { - size_t i; - set_color (wblue); _msgwindow (msg, win, 0); set_color (white); @@ -524,14 +513,14 @@ int askwindow (char *msg, window_t *win, char *ok, char *ko) while (!stop) { int ch = getch (); - for (i = 0; i < strlen (ok); i++) { + for (int i = 0; i < (int)strlen (ok); i++) { if (ch == ok[i]) { stop = 1; break; } } - for (i = 0; i < strlen (ko); i++) { + for (int i = 0; i < (int)strlen (ko); i++) { if (ch == ko[i]) { stop = -1; break; @@ -573,8 +562,11 @@ char *filewindow (char *name, window_t *win) " Find in page\n" " Help message\n" " Move up\n" + " Move up half page\n" " Move down\n" + " Move down half page\n" " Change mode\n" + " Find next\n" " Quit view\n" ; @@ -596,8 +588,8 @@ char *filewindow (char *name, window_t *win) while (std[lenstd] != NULL) { lenstd++; } - char *basename = strrchr (name, *SEPARATOR); - basename = (basename) ? basename + 1 : name; + //char *basename = strrchr (name, *SEPARATOR); + //basename = (basename) ? basename + 1 : name; int skip = 0; int stop = 0; @@ -605,7 +597,6 @@ char *filewindow (char *name, window_t *win) char *pt, *search = NULL; int sskip = 0; while (!stop) { - int i, j; char **lines = (mode) ? std : hexa; int len = (mode) ? lenstd : lenhexa; @@ -622,8 +613,8 @@ char *filewindow (char *name, window_t *win) } } - int ratio = (GETSKIP (skip, sskip) + win->ysize > len) ? 100 : 100 * (GETSKIP (skip, sskip) + win->ysize) / len; - for (i = 2; (i >= 0) && (ratio > 0); i--, ratio /= 10) { + int ratio = (GETSKIP (skip, sskip) + win->ysize > len) ? 100 : 100 * (GETSKIP (skip, sskip) + win->ysize) / (len ? len : 1); + for (int i = 2; (i >= 0) && (ratio > 0); i--, ratio /= 10) { percent[i] = '0' + (ratio % 10); } char *title = strdupcat (" File: ", name, " ", percent, "% ", NULL); @@ -640,6 +631,7 @@ char *filewindow (char *name, window_t *win) } int slen = (search) ? strlen (search) : 0; + int i, j; for (i = 0; (i < win->ysize) && (lines[GETSKIP (skip, sskip) + i]); i++) { unsigned char *pt = (unsigned char *)(lines[GETSKIP (skip, sskip) + i]); int highlight = 0; diff --git a/function.c b/function.c index 9dfa06c..40d8eab 100644 --- a/function.c +++ b/function.c @@ -147,8 +147,7 @@ list_t *_addelement (list_t *list, char *dirname, char *filename, type_t type) CHECKALLOC (list->tab); memset (list->tab + list->nb - 1, 0, sizeof (elem_t)); elem_t *elem = list->tab; - int i; - for (i = list->nb - 1; i > 0; i--) { + for (int i = list->nb - 1; i > 0; i--) { if (strcmp ((list->tab + i - 1)->name, filename) < 0) { elem = list->tab + i; break; @@ -404,8 +403,7 @@ int filterlist (list_t *list, char *regex) regex_t reegex; int rc = regcomp (&reegex, regex, 0); - int i; - for (i = 0; (i < list->nb) && (rc == 0); i++) { + for (int i = 0; (i < list->nb) && (rc == 0); i++) { elem_t *elem = list->tab + i; switch (regexec (&reegex, elem->name, 0, NULL, 0)) { case 0: @@ -701,9 +699,8 @@ char **splitlines (char *buffer, int max) int n = 0; char **lines = NULL; - int i, j; char *line = (char *) calloc (max + 1, sizeof (char)); - for (i = j = 0; buffer[i] != '\0'; i++) { + for (int i = 0, j = 0; buffer[i] != '\0'; i++) { if ((unsigned char)buffer[i] >= 32) { line[j++] = buffer[i]; } @@ -750,24 +747,23 @@ int _getnbdigits (int l) { return n; } -char *_newhexaline (char *buffer, int nb, int addr, int nbdigits, int nbcols) { - int i; - +char *_newhexaline (char *buffer, int nb, int addr, int nbdigits, int nbcols) +{ char *line = (char *) calloc (7 + nbdigits + 4 * nbcols, 1); CHECKALLOC (line); int l = sprintf (line, "0x%0*x:", nbdigits, addr); - for (i = 0; i < nb; i++) { + for (int i = 0; i < nb; i++) { l += sprintf (line + l, " %02x", (unsigned char)buffer[i]); } - for (i = nb; i < nbcols; i++) { + for (int i = nb; i < nbcols; i++) { l += sprintf (line + l, " "); } l += sprintf (line + l, " "); - for (i = 0; i < nb; i++) { + for (int i = 0; i < nb; i++) { char c = buffer[i]; l += sprintf (line + l, "%c", (c > 31) && (c < 127) ? c : '.'); } @@ -781,8 +777,7 @@ char **splithexalines (char *buffer, int length, int width) int nbcols = (width - 7 - nbdigits) / 4; int nblines = (length + nbcols - 1) / nbcols; char **lines = (char **) calloc (nblines + 1, sizeof (char *)); - int i; - for (i = 0; i < nblines; i++) { + for (int i = 0; i < nblines; i++) { int nb = min (length - i * nbcols, nbcols); lines[i] = _newhexaline (buffer + i * nbcols, nb, i * nbcols, nbdigits, nbcols); } @@ -792,9 +787,8 @@ char **splithexalines (char *buffer, int length, int width) int find (char **lines, int nblines, int skip, char *search, int dir) { int len = strlen (search); - int i, j; - for (i = skip; (dir) ? (i >= 0) : (i < nblines); i += (dir) ? -1 : 1) { - for (j = 0; lines[i][j] != 0; j++) { + for (int i = skip; (dir) ? (i >= 0) : (i < nblines); i += (dir) ? -1 : 1) { + for (int j = 0; (lines) && (lines[i]) && (lines[i][j] != 0); j++) { if (strncmp (lines[i] + j, search, len) == 0) { return i; } @@ -815,8 +809,7 @@ void jumpto (list_t *list, int nbcols, int pageheight, char *search, int *x, int } char **_list = (char **) calloc (list->nb, sizeof (char *)); CHECKALLOC (_list); - int j; - for (j = 0; j < list->nb; j++) { + for (int j = 0; j < list->nb; j++) { _list[j] = (list->tab + j)->name; } skip = find (_list, list->nb, skip, search, (offset < 0)); diff --git a/makefile b/makefile index 14379c1..eb5c920 100644 --- a/makefile +++ b/makefile @@ -5,6 +5,7 @@ CC = gcc #INCLUDES = -I../debug -D__MEMORY_ALLOCATION__ INCLUDES = OFLAGS = -O4 -Os +#OFLAGS = -O0 #OFLAGS = -O4 -ffast-math -finline-functions #OFLAGS = -O4 -finline-functions #OFLAGS += -mtune=pentium3 -mmmx -msse -msse2 -m3dnow @@ -66,6 +67,10 @@ GETCOMMENTS = awk '/\/\*\s*$(1):/,/\*\// { sub(/.*\/\*\s*$(1):/, ""); sub (/\s*\ all: depends $(MAKE) $(ALLEXE:%=%.exe) +analyze: + scan-build make + #scan-build -stats make + count: wc $(wildcard *.c *.h) $(MAKEFILE_LIST) @@ -186,7 +191,7 @@ valgrind_%: %.exe ## Phony -.PHONY: all clean count depends gcovs purge tests +.PHONY: all analyze clean count depends gcovs purge tests ## Precious