static void request_done(struct uclient *cl)
{
- if (output_fd >= 0) {
+ if (output_fd >= 0 && !output_file) {
close(output_fd);
output_fd = -1;
}
uloop_end();
}
-static void example_header_done(struct uclient *cl)
+static void header_done_cb(struct uclient *cl)
{
static int retries;
}
}
-static void example_read_data(struct uclient *cl)
+static void read_data_cb(struct uclient *cl)
{
char buf[256];
int len;
uclient_request(cl);
}
-static void example_eof(struct uclient *cl)
+static void eof_cb(struct uclient *cl)
{
request_done(cl);
}
}
static const struct uclient_cb cb = {
- .header_done = example_header_done,
- .data_read = example_read_data,
- .data_eof = example_eof,
+ .header_done = header_done_cb,
+ .data_read = read_data_cb,
+ .data_eof = eof_cb,
.error = handle_uclient_error,
};
fprintf(stderr,
"Usage: %s [options] <URL>\n"
"Options:\n"
+ " -q: Turn off status messages\n"
" -O <file>: Redirect output to file (use \"-\" for stdout)\n"
"\n"
"HTTPS options:\n"
uclient_free(cl);
+ if (output_fd >= 0 && output_fd != STDOUT_FILENO)
+ close(output_fd);
+
if (ssl_ctx)
ssl_ops->context_free(ssl_ctx);