1
0
mirror of https://github.com/moparisthebest/wget synced 2024-07-03 16:38:41 -04:00

[svn] Renamed logvprintf to log_vprintf_internal.

This commit is contained in:
hniksic 2003-11-03 12:08:46 -08:00
parent 3ec22d9843
commit e958a474b0
2 changed files with 20 additions and 9 deletions

View File

@ -1,3 +1,9 @@
2003-11-03 Hrvoje Niksic <hniksic@xemacs.org>
* log.c (logvprintf): Documented better. Renamed to
log_vprintf_internal to avoid confusion with the public API
functions logprintf and logputs.
2003-11-03 Hrvoje Niksic <hniksic@xemacs.org> 2003-11-03 Hrvoje Niksic <hniksic@xemacs.org>
* wget.h (N_): Don't parenthesize argument. * wget.h (N_): Don't parenthesize argument.

View File

@ -350,15 +350,20 @@ struct logvprintf_state {
/* Print a message to the log. A copy of message will be saved to /* Print a message to the log. A copy of message will be saved to
saved_log, for later reusal by log_dump_context(). saved_log, for later reusal by log_dump_context().
It is not possible to code this function in a "natural" way, using Normally we'd want this function to loop around vsnprintf until
a loop, because of the braindeadness of the varargs API. sufficient room is allocated, as the Linux man page recommends.
Specifically, each call to vsnprintf() must be preceded by va_start However each call to vsnprintf() must be preceded by va_start and
and followed by va_end. And this is possible only in the function followed by va_end. Since calling va_start/va_end is possible only
that contains the `...' declaration. The alternative would be to in the function that contains the `...' declaration, we cannot call
use va_copy, but that's not portable. */ vsnprintf more than once. Therefore this function saves its state
to logvprintf_state and signals the parent to call it again.
(An alternative approach would be to use va_copy, but that's not
portable.) */
static int static int
logvprintf (struct logvprintf_state *state, const char *fmt, va_list args) log_vprintf_internal (struct logvprintf_state *state, const char *fmt,
va_list args)
{ {
char smallmsg[128]; char smallmsg[128];
char *write_ptr = smallmsg; char *write_ptr = smallmsg;
@ -504,7 +509,7 @@ logprintf (enum log_options o, const char *fmt, ...)
do do
{ {
VA_START (args, fmt); VA_START (args, fmt);
done = logvprintf (&lpstate, fmt, args); done = log_vprintf_internal (&lpstate, fmt, args);
va_end (args); va_end (args);
} }
while (!done); while (!done);
@ -530,7 +535,7 @@ debug_logprintf (const char *fmt, ...)
do do
{ {
VA_START (args, fmt); VA_START (args, fmt);
done = logvprintf (&lpstate, fmt, args); done = log_vprintf_internal (&lpstate, fmt, args);
va_end (args); va_end (args);
} }
while (!done); while (!done);