aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDan Cross <cross@gajendra.net>2025-07-24 14:22:18 +0000
committerDan Cross <cross@gajendra.net>2025-07-24 15:45:31 +0000
commit4089e29e89026f0b581155987d5f683d7635fd13 (patch)
tree168b0306e87f3a7c1c42f81e656cf0054add7371 /src
parent564d45b5a55adeb48f69fdecb2bf4ed1f909850b (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.
Diffstat (limited to 'src')
-rw-r--r--src/cmd/proof/font.c4
-rw-r--r--src/cmd/spell/sprog.c2
-rw-r--r--src/cmd/tbl/t8.c2
-rw-r--r--src/cmd/troff/n7.c26
-rw-r--r--src/libplumb/mesg.c2
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){