#984660 more.c: some changes

Package:
src:nn
Source:
nn
Submitter:
Bjarni Ingi Gislason
Date:
2021-03-06 19:21:03 UTC
Severity:
normal
Tags:
#984660#5
Date:
2021-03-06 19:17:51 UTC
From:
To:
Dear Maintainer,

  Use 8bit data, change "data_bits" from 7 to 8.

  Add a declaration for "ndelayed_msg", that is the size of array
"delayed_msg[]".

  Use "snprintf()" instead of "sprintf()".

  Correct the value for "attr" from "NULL_FCT" to "NULL_FCT_INT".

  Add a constant "NPR_FMT" for the number of elements in "pr_fmt[]".

Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
---
 more.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/more.c b/more.c
index 0cebb20..08ce974 100644
--- a/more.c
+++ b/more.c
@@ -49,7 +49,7 @@ char           *header_lines = NULL;

 int             min_pv_window = 7;
 int             wrap_headers = 6;
-int             data_bits = 7;
+int             data_bits = 8;
 int             scroll_clear_page = 1;
 int             expired_msg_delay = 1;
 char           *trusted_escapes = NULL;
@@ -74,6 +74,7 @@ extern int      mouse_state;
 extern int      alt_cmd_key, in_menu_mode, any_message;
 extern long     n_selected;

+extern const size_t ndelayed_msg; /* size of array "delayed_msg[]" */
 extern char     delayed_msg[];

 static int      rot13_must_init = 1;
@@ -157,7 +158,7 @@ get_header_field(char code, char **namep, char **valp, register article_header *
 	    /* FALLTHROUGH */
 	case 'G':
 	    if (ah->a_number > 0) {
-		sprintf(special, "%s/%ld",
+		snprintf(special, FILENAME, "%s/%ld",
 			current_group->group_name, (long) ah->a_number);
 		lp = special;
 	    } else
@@ -182,7 +183,7 @@ get_header_field(char code, char **namep, char **valp, register article_header *
 	    break;

 	case 'i':
-	    sprintf(special, "#%ld fl=%ld re=%d li=%d hp=%ld fp=%ld lp=%ld ts=%ld",
+	    snprintf(special, FILENAME, "#%ld fl=%ld re=%d li=%d hp=%ld fp=%ld lp=%ld ts=%ld",
 		    (long) ah->a_number, (long) ah->flag, (int) ah->replies,
 		    ah->lines, ah->hpos, ah->fpos, (long) ah->lpos,
 		    (long) ah->t_stamp);
@@ -213,7 +214,7 @@ next_header_field(char **namep, char **valp, fct_type_int * attrp)
     fct_type_int        attr;

     while (*scan_codes) {
-	attr = NULL_FCT;
+	attr = NULL_FCT_INT;
 	*namep = NULL;

 	switch (*scan_codes) {
@@ -388,6 +389,8 @@ more(article_header * ah, int mode, int screen_offset)
     flag_type       in_digest = ah->flag & A_DIGEST;
     article_header  digestah;
     char           *fname, *hdrline;
+#define    NPR_FMT  200
+    char            pr_fmt[NPR_FMT], send_date[40];
     char            pr_fmt[200], send_date[40];
     int             match_expr, shade_overlap, shade_line;
     int            *key_map;
@@ -511,7 +514,7 @@ more(article_header * ah, int mode, int screen_offset)
 		group_name += len - maxl;
 	}
 	if (mode & (MM_PREVIEW | MM_DIGEST) || n_selected == 0)
-	    sprintf(pr_fmt,
+	    snprintf(pr_fmt, NPR_FMT,
 		    "\1\2--%s-- %s%s %s--%%s--%%s\1",
 		    group_name,
 		    (mode & MM_DIGEST) ? "DIGEST" :
@@ -519,14 +522,14 @@ more(article_header * ah, int mode, int screen_offset)
 		    (ah->flag & A_NEXT_SAME) ? "+next" : "",
 		    novice ? "--help:?" : "");
 	else
-	    sprintf(pr_fmt,
+	    snprintf(pr_fmt, NPR_FMT,
 		    "\1\2--%s-- %ld MORE%s %s--%%s--%%s\1",
 		    group_name,
 		    n_selected,
 		    (ah->flag & A_NEXT_SAME) ? "+next" : "",
 		    novice ? "--help:?" : "");
     } else
-	sprintf(pr_fmt,
+	snprintf(pr_fmt, NPR_FMT,
 		"\1\2-- %s%s %s-----%%s%s-----%%s\1",
 		(mode & MM_PREVIEW) ? "PREVIEW " : "",
 		(mode & MM_DIGEST) ? "FULL DIGEST" :