summaryrefslogtreecommitdiffstats
path: root/src/cmd/troff
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/cmd/troff
parent564d45b5a55adeb48f69fdecb2bf4ed1f909850b (diff)
downloadplan9port-4089e29e89026f0b581155987d5f683d7635fd13.tar.gz
plan9port-4089e29e89026f0b581155987d5f683d7635fd13.zip
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/cmd/troff')
-rw-r--r--src/cmd/troff/n7.c26
1 files changed, 15 insertions, 11 deletions
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;