diff options
| author | Dan Cross <cross@gajendra.net> | 2025-07-24 14:22:18 +0000 |
|---|---|---|
| committer | Dan Cross <cross@gajendra.net> | 2025-07-24 15:45:31 +0000 |
| commit | 4089e29e89026f0b581155987d5f683d7635fd13 (patch) | |
| tree | 168b0306e87f3a7c1c42f81e656cf0054add7371 | |
| parent | 564d45b5a55adeb48f69fdecb2bf4ed1f909850b (diff) | |
warnings: fix warnings on newer compilers
Mostly turning the crank on fixing simple warnings: arrays, for
instance, can never be nil. A couple of pointers should have been
initialized to `nil` before being tested.
Some logic in `troff` was simplified: basically, an `if` statement had
a condition that must have always been true if that section of code
were being executed at all.
| -rw-r--r-- | src/cmd/proof/font.c | 4 | ||||
| -rw-r--r-- | src/cmd/spell/sprog.c | 2 | ||||
| -rw-r--r-- | src/cmd/tbl/t8.c | 2 | ||||
| -rw-r--r-- | src/cmd/troff/n7.c | 26 | ||||
| -rw-r--r-- | src/libplumb/mesg.c | 2 |
5 files changed, 21 insertions, 15 deletions
diff --git a/src/cmd/proof/font.c b/src/cmd/proof/font.c index 5cd68623..b0de3026 100644 --- a/src/cmd/proof/font.c +++ b/src/cmd/proof/font.c @@ -177,8 +177,8 @@ loadfontname(int n, char *s) if (strcmp(s, fname[n]) == 0) return; - if(fname[n] && fname[n][0]){ - if(lastload[n] && strcmp(lastload[n], fname[n]) == 0) + if(fname[n][0]){ + if(strcmp(lastload[n], fname[n]) == 0) return; strcpy(lastload[n], fname[n]); } diff --git a/src/cmd/spell/sprog.c b/src/cmd/spell/sprog.c index 1627829c..846612b0 100644 --- a/src/cmd/spell/sprog.c +++ b/src/cmd/spell/sprog.c @@ -985,7 +985,7 @@ trypref(char* ep, char* a, int lev, int flag) deriv[lev+1].type += PREF; h = tryword(bp,ep,lev+1,flag); if(Set(h,NOPREF) || - ((tp->flag&IN) && inun(bp-2,h)==0)) { + ((tp->flag&IN) && bp>=(word+2) && inun(bp-2,h)==0)) { h = 0; break; } diff --git a/src/cmd/tbl/t8.c b/src/cmd/tbl/t8.c index 26375df5..f3d72775 100644 --- a/src/cmd/tbl/t8.c +++ b/src/cmd/tbl/t8.c @@ -71,7 +71,7 @@ putline(int i, int nl) ss = table[nl][c].col; if (ss == 0) continue; - if(font[c][stynum[nl]]) + if(c < MAXHEAD && 0 <= nl && nl < 2) chfont = 1; if (point(ss) ) continue; diff --git a/src/cmd/troff/n7.c b/src/cmd/troff/n7.c index 414563c0..26a18e8c 100644 --- a/src/cmd/troff/n7.c +++ b/src/cmd/troff/n7.c @@ -1,5 +1,6 @@ #define _BSD_SOURCE 1 /* isascii */ #define _DEFAULT_SOURCE 1 +#include <u.h> #include "tdef.h" #include "fns.h" #include "ext.h" @@ -323,13 +324,14 @@ void ckul(void) void storeline(Tchar c, int w) { int diff; + Tchar *nline; if (linep >= line + lnsize - 2) { lnsize += LNSIZE; diff = linep - line; - if (( line = (Tchar *)realloc((char *)line, lnsize * sizeof(Tchar))) != NULL) { - if (linep && diff) - linep = line + diff; + if ((nline = (Tchar *)realloc((char *)line, lnsize * sizeof(Tchar))) != NULL) { + line = nline; + linep = line + diff; } else { if (over) { return; @@ -767,24 +769,26 @@ rtn: void storeword(Tchar c, int w) { - Tchar *savp; + Tchar *nword; + uintptr savp; int i; if (wordp >= word + wdsize - 2) { wdsize += WDSIZE; - savp = word; - if (( word = (Tchar *)realloc((char *)word, wdsize * sizeof(Tchar))) != NULL) { + savp = (uintptr)word; + if ((nword = (Tchar *)realloc((char *)word, wdsize * sizeof(Tchar))) != NULL) { + word = nword; if (wordp) - wordp = word + (wordp - savp); + wordp = word + ((uintptr)wordp - savp); if (pendw) - pendw = word + (pendw - savp); + pendw = word + ((uintptr)pendw - savp); if (wdstart) - wdstart = word + (wdstart - savp); + wdstart = word + ((uintptr)wdstart - savp); if (wdend) - wdend = word + (wdend - savp); + wdend = word + ((uintptr)wdend - savp); for (i = 0; i < NHYP; i++) if (hyptr[i]) - hyptr[i] = word + (hyptr[i] - savp); + hyptr[i] = word + ((uintptr)hyptr[i] - savp); } else { if (over) { return; diff --git a/src/libplumb/mesg.c b/src/libplumb/mesg.c index acc0ac32..d528032f 100644 --- a/src/libplumb/mesg.c +++ b/src/libplumb/mesg.c @@ -304,9 +304,11 @@ plumbunpackpartial(char *buf, int n, int *morep) i = plumbline(&m->dst, buf, i, n, &bad); i = plumbline(&m->wdir, buf, i, n, &bad); i = plumbline(&m->type, buf, i, n, &bad); + attr = nil; i = plumbline(&attr, buf, i, n, &bad); m->attr = plumbunpackattr(attr); free(attr); + ntext = nil; i = plumbline(&ntext, buf, i, n, &bad); m->ndata = atoi(ntext); if(m->ndata != n-i){ |