In GNU gettext, I see these warnings (with gcc 12): libtextstyle/lib/tparm.c:350:19: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] libtextstyle/lib/tparm.c:432:19: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] libtextstyle/lib/tparm.c:456:21: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] libtextstyle/lib/tparm.c:460:21: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] libtextstyle/lib/tparm.c:464:21: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] libtextstyle/lib/tparm.c:468:21: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
This patch fixes them. 2023-06-04 Bruno Haible <br...@clisp.org> terminfo, termcap: Fix "discards 'const' qualifier" warnings. * lib/tparm.c (tparm): Change type of 'fmt'. New local variable 'fmtp'. diff --git a/lib/tparm.c b/lib/tparm.c index e9214e292c..1bc7c74845 100644 --- a/lib/tparm.c +++ b/lib/tparm.c @@ -260,7 +260,7 @@ tparm (const char *str, ...) static char buf[MAX_LINE]; const char *sp; char *dp; - char *fmt; + const char *fmt; char scan_for; int scan_depth; int if_depth; @@ -473,21 +473,22 @@ tparm (const char *str, ...) case '6': case '7': case '8': case '9': if (fmt == NULL) { + char *fmtp; if (termcap) return OOPS; if (*sp == ':') sp++; - fmt = fmt_buf; - *fmt++ = '%'; + fmtp = fmt_buf; + *fmtp++ = '%'; while (*sp != 's' && *sp != 'x' && *sp != 'X' && *sp != 'd' && *sp != 'o' && *sp != 'c' && *sp != 'u') { if (*sp == '\0') return OOPS; - *fmt++ = *sp++; + *fmtp++ = *sp++; } - *fmt++ = *sp; - *fmt = '\0'; + *fmtp++ = *sp; + *fmtp = '\0'; fmt = fmt_buf; } {