build: delete/replace clang warning pragmas
- delete redundant warning suppressions for `-Wformat-nonliteral`. This now relies on `CURL_PRINTF()` and it's theoratically possible that this macro isn't active but the warning is. We're ignoring this as a corner-case here. - replace two pragmas with code changes to avoid the warnings. Follow-up toaee4ebe591
#12803 Follow-up to0923012758
#12540 Follow-up to3829759bd0
#12489 Reviewed-by: Daniel Stenberg Closes #12812
This commit is contained in:
Родитель
ecb5d6bee9
Коммит
5b286c2508
|
@ -92,14 +92,7 @@ void Curl_failf(struct Curl_easy *data, const char *fmt, ...)
|
|||
int len;
|
||||
char error[CURL_ERROR_SIZE + 2];
|
||||
va_start(ap, fmt);
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wformat-nonliteral"
|
||||
#endif
|
||||
len = mvsnprintf(error, CURL_ERROR_SIZE, fmt, ap);
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
|
||||
if(data->set.errorbuffer && !data->state.errorbuf) {
|
||||
strcpy(data->set.errorbuffer, error);
|
||||
|
@ -125,14 +118,7 @@ void Curl_infof(struct Curl_easy *data, const char *fmt, ...)
|
|||
int len;
|
||||
char buffer[MAXINFO + 2];
|
||||
va_start(ap, fmt);
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wformat-nonliteral"
|
||||
#endif
|
||||
len = mvsnprintf(buffer, MAXINFO, fmt, ap);
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
va_end(ap);
|
||||
buffer[len++] = '\n';
|
||||
buffer[len] = '\0';
|
||||
|
@ -150,14 +136,7 @@ void Curl_trc_cf_infof(struct Curl_easy *data, struct Curl_cfilter *cf,
|
|||
char buffer[MAXINFO + 2];
|
||||
len = msnprintf(buffer, MAXINFO, "[%s] ", cf->cft->name);
|
||||
va_start(ap, fmt);
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wformat-nonliteral"
|
||||
#endif
|
||||
len += mvsnprintf(buffer + len, MAXINFO - len, fmt, ap);
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
va_end(ap);
|
||||
buffer[len++] = '\n';
|
||||
buffer[len] = '\0';
|
||||
|
|
|
@ -135,14 +135,7 @@ static CURLcode sendf(curl_socket_t sockfd, struct Curl_easy *data,
|
|||
char *sptr;
|
||||
va_list ap;
|
||||
va_start(ap, fmt);
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wformat-nonliteral"
|
||||
#endif
|
||||
s = vaprintf(fmt, ap); /* returns an allocated string */
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
va_end(ap);
|
||||
if(!s)
|
||||
return CURLE_OUT_OF_MEMORY; /* failure */
|
||||
|
|
|
@ -204,14 +204,7 @@ CURLcode Curl_dyn_vaddf(struct dynbuf *s, const char *fmt, va_list ap)
|
|||
return CURLE_OUT_OF_MEMORY;
|
||||
#else
|
||||
char *str;
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wformat-nonliteral"
|
||||
#endif
|
||||
str = vaprintf(fmt, ap); /* this allocs a new string to append */
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
|
||||
if(str) {
|
||||
CURLcode result = dyn_nappend(s, (unsigned char *)str, strlen(str));
|
||||
|
|
|
@ -448,14 +448,7 @@ void curl_dbg_log(const char *format, ...)
|
|||
return;
|
||||
|
||||
va_start(ap, format);
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wformat-nonliteral"
|
||||
#endif
|
||||
nchars = mvsnprintf(buf, LOGLINE_BUFSIZE, format, ap);
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
va_end(ap);
|
||||
|
||||
if(nchars > LOGLINE_BUFSIZE - 1)
|
||||
|
|
|
@ -1677,14 +1677,7 @@ CURLcode Curl_mime_add_header(struct curl_slist **slp, const char *fmt, ...)
|
|||
va_list ap;
|
||||
|
||||
va_start(ap, fmt);
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wformat-nonliteral"
|
||||
#endif
|
||||
s = curl_mvaprintf(fmt, ap);
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
va_end(ap);
|
||||
|
||||
if(s) {
|
||||
|
|
|
@ -113,14 +113,7 @@ CURLcode easysrc_addf(struct slist_wc **plist, const char *fmt, ...)
|
|||
char *bufp;
|
||||
va_list ap;
|
||||
va_start(ap, fmt);
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wformat-nonliteral"
|
||||
#endif
|
||||
bufp = curlx_mvaprintf(fmt, ap);
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
va_end(ap);
|
||||
if(!bufp) {
|
||||
ret = CURLE_OUT_OF_MEMORY;
|
||||
|
|
|
@ -53,14 +53,7 @@ static void voutf(struct GlobalConfig *config,
|
|||
char *ptr;
|
||||
char *print_buffer;
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wformat-nonliteral"
|
||||
#endif
|
||||
print_buffer = curlx_mvaprintf(fmt, ap);
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
if(!print_buffer)
|
||||
return;
|
||||
len = strlen(print_buffer);
|
||||
|
|
|
@ -240,22 +240,11 @@ static char *c_escape(const char *str, curl_off_t len)
|
|||
if(p && *p)
|
||||
result = curlx_dyn_addn(&escaped, to + 2 * (p - from), 2);
|
||||
else {
|
||||
const char *format = "\\x%02x";
|
||||
|
||||
if(len > 1 && ISXDIGIT(s[1])) {
|
||||
/* Octal escape to avoid >2 digit hex. */
|
||||
format = "\\%03o";
|
||||
}
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wformat-nonliteral"
|
||||
#endif
|
||||
result = curlx_dyn_addf(&escaped, format,
|
||||
result = curlx_dyn_addf(&escaped,
|
||||
/* Octal escape to avoid >2 digit hex. */
|
||||
(len > 1 && ISXDIGIT(s[1])) ?
|
||||
"\\%03o" : "\\x%02x",
|
||||
(unsigned int) *(unsigned char *) s);
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1639,7 +1639,6 @@ static char bigpart[120000];
|
|||
*/
|
||||
static int huge(void)
|
||||
{
|
||||
const char *url = "%s://%s:%s@%s/%s?%s#%s";
|
||||
const char *smallpart = "c";
|
||||
int i;
|
||||
CURLU *urlp = curl_url();
|
||||
|
@ -1662,12 +1661,8 @@ static int huge(void)
|
|||
|
||||
for(i = 0; i < 7; i++) {
|
||||
char *partp;
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wformat-nonliteral"
|
||||
#endif
|
||||
msnprintf(total, sizeof(total),
|
||||
url,
|
||||
"%s://%s:%s@%s/%s?%s#%s",
|
||||
(i == 0)? &bigpart[1] : smallpart,
|
||||
(i == 1)? &bigpart[1] : smallpart,
|
||||
(i == 2)? &bigpart[1] : smallpart,
|
||||
|
@ -1675,9 +1670,6 @@ static int huge(void)
|
|||
(i == 4)? &bigpart[1] : smallpart,
|
||||
(i == 5)? &bigpart[1] : smallpart,
|
||||
(i == 6)? &bigpart[1] : smallpart);
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
rc = curl_url_set(urlp, CURLUPART_URL, total, CURLU_NON_SUPPORT_SCHEME);
|
||||
if((!i && (rc != CURLUE_BAD_SCHEME)) ||
|
||||
(i && rc)) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче