logging: fix corrupted output
authorPablo Neira Ayuso <pablo@gnumonks.org>
Thu, 19 May 2011 06:55:32 +0000 (08:55 +0200)
committerHarald Welte <laforge@gnumonks.org>
Thu, 19 May 2011 06:55:32 +0000 (08:55 +0200)
commit825607672215b7a12ea6e201a89cd5209f6d657f
treeeacd9d1150da3664d6d685e2c3b8cf829041a50f
parentba01fa44feb6deb0f0359f381eafe866991c06c1
logging: fix corrupted output

Harald reported a problem in the logging:
http://lists.osmocom.org/pipermail/openbsc/2011-May/002896.html

Reverting 81e9636454294ae10ef9bc8bf149dd0248afce76 seems to
fix the problem. However, that workaround looks ugly.

Holger gives us another clue on what was wrong:
http://lists.osmocom.org/pipermail/openbsc/2011-May/002905.html

While digging in the manpage, I found this:

"The functions vprintf(), vfprintf(), vsprintf(), vsnprintf()
are equivalent to the functions printf(), fprintf(), sprintf(),
snprintf(), respectively, except that they are called with a
va_list instead of a variable number of arguments. These functions
do not call the va_end macro. Consequently, the value of ap is
undefined after the call. The application should call va_end(ap)
itself afterwards."
src/logging.c