From 4089e29e89026f0b581155987d5f683d7635fd13 Mon Sep 17 00:00:00 2001 From: Dan Cross Date: Thu, 24 Jul 2025 14:22:18 +0000 Subject: 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. --- src/cmd/troff/n7.c | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) (limited to 'src/cmd/troff') 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 #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; -- cgit v1.2.3