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:
parent
3ec22d9843
commit
e958a474b0
@ -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.
|
||||||
|
23
src/log.c
23
src/log.c
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user