libcurl passes an empty line to header_callback indicating the end
of the response's HTTP headers.
Currently this empty line is printed to the debuginfod_client's
verbose_fd with a "header" prefix:
$ echo $DEBUGINFOD_URLS
https://debuginfod.fedoraproject.org/
$ debuginfod-find -vv debuginfo e2bbf033b548021c37866429f12a99bd33bd6e8d
[...]
header x-fedora-requestid: ZULLx0PPA8nmj8c8Hw-RtAACgAE
header server: Apache
header
[...]
Prevent this unnecessary line of output by only printing non-empty
lines in header_callback.
Signed-off-by: Aaron Merey <[email protected]>
---
debuginfod/debuginfod-client.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c
index 6882cb19..dcf05031 100644
--- a/debuginfod/debuginfod-client.c
+++ b/debuginfod/debuginfod-client.c
@@ -568,7 +568,9 @@ header_callback (char * buffer, size_t size, size_t
numitems, void * userdata)
struct handle_data *data = (struct handle_data *) userdata;
if (size != 1)
return 0;
- if (data->client && data->client->verbose_fd >= 0)
+ if (data->client
+ && data->client->verbose_fd >= 0
+ && numitems > 2)
dprintf (data->client->verbose_fd, "header %.*s", (int)numitems, buffer);
// Some basic checks to ensure the headers received are of the expected
format
if (strncasecmp(buffer, "X-DEBUGINFOD", 11)
--
2.41.0