Branch: Tag:

2008-03-29

2008-03-29 01:29:47 by Martin Stjernholm <mast@lysator.liu.se>

Fixed problem with repeated use of va_args in debug_va_fatal.

Rev: src/error.c:1.152

2:   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: error.c,v 1.151 2008/01/26 22:34:20 mast Exp $ + || $Id: error.c,v 1.152 2008/03/29 01:29:47 mast Exp $   */      #define NO_PIKE_SHORTHAND
539:    /* Prevent double fatal. */    if (in_fatal)    { -  if (fmt) (void)VFPRINTF(stderr, fmt, args); +  if (fmt) { +  va_list a; +  va_copy (a, args); /* FIXME: Assumes C99. */ +  (void)VFPRINTF(stderr, fmt, a); +  va_end (a); +  }    do_abort();    }       in_fatal = 1;   #ifdef PIKE_DEBUG    if (d_flag) { -  if (fmt) (void)VFPRINTF(stderr, fmt, args); +  if (fmt) { +  va_list a; +  va_copy (a, args); /* FIXME: Assumes C99. */ +  (void)VFPRINTF(stderr, fmt, a); +  va_end (a); +  }    dump_backlog();    }   #endif