tool_cb_hdr: suppress header output when --out-null

This change brings --out-null more in line with the documentation which
says --out-null is expected to behave like a portable -o /dev/null.

Prior to this change curl did not suppress the header output from --head
when --out-null was used to suppress output.

Assisted-by: Daniel Stenberg
Reported-by: Andrew Kvalheim

Ref: https://curl.se/docs/manpage.html#--out-null

Fixes https://github.com/curl/curl/discussions/20235
Closes https://github.com/curl/curl/pull/20256
This commit is contained in:
Jay Satiro
2026-01-11 14:56:24 -05:00
parent 13f0ede730
commit 3652127e81
2 changed files with 3 additions and 10 deletions

View File

@@ -275,9 +275,9 @@ size_t tool_header_cb(char *ptr, size_t size, size_t nmemb, void *userdata)
else if(ptr[0] == '\r' || ptr[0] == '\n')
per->was_last_header_empty = TRUE;
}
if(hdrcbdata->config->show_headers &&
(scheme == proto_http || scheme == proto_https ||
scheme == proto_rtsp || scheme == proto_file)) {
if(hdrcbdata->config->show_headers && !outs->out_null &&
(scheme == proto_http || scheme == proto_https ||
scheme == proto_rtsp || scheme == proto_file)) {
/* bold headers only for selected protocols */
char *value = NULL;

View File

@@ -61,13 +61,6 @@ Accept: */*
</protocol>
<stdout>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Response: 1
Content-Type: text/html
Content-Length: 8
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake