🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.std.c
Article #116

can I call vprintf() twice in a row?

#116
From: Dennis Yelle
Date: Sat, 25 Jul 1992 01:19
39 lines
1468 bytes
#if 0
    Is the following legal ansi c?
    I beleave that it is, but if not, I would like to know why not.
    Note in particular that vprintf() is called twice in a row.
    I just discovered a vprintf() that changes arg_ptr when
    I do this, causing the second vprintf to fail.
    In case you are wondering, the bad vprintf() came from Watcom.
#endif

/* --------- cut here for vfpf.c -------------------- */

#include <stdarg.h>
#include <stdio.h>

void report( char *fmt, ...)
{
    va_list arg_ptr;
    
    va_start( arg_ptr, fmt);
    vprintf( fmt, arg_ptr);
    vprintf( fmt, arg_ptr);  /* Yes, we want to print it twice.     */
                             /* In the original program, the second */
                             /* was vfprintf to a log file.         */
    va_end( arg_ptr);
}

main( int argc, char **argv)
{
    int a;
    
    for( a=0; a<argc; a++) {
        report( "arg %d is %s\n", a, argv[a]);
    }
    return 0;
}
/* --------- cut here for vfpf.c -------------------- */

--
Dennis Yelle (bbs.dennis@tsoft.sf-bay.org)
Technical Details
Message-ID: <ZJ2FoB1w165w@tsoft.sf-bay.org>
Path: arc1-ca.pugleaf.net!sparky!uunet!decwrl!mips!tsoft!dennis

Show Full Headers
Complete Article Headers
Newsgroups: comp.std.c
Path: arc1-ca.pugleaf.net!sparky!uunet!decwrl!mips!tsoft!dennis
From: bbs.dennis@tsoft.sf-bay.org (Dennis Yelle)
Subject: can I call vprintf() twice in a row?
Message-ID: <ZJ2FoB1w165w@tsoft.sf-bay.org>
Sender: bbs@tsoft.sf-bay.org (BBS User)
Organization: The TSoft BBS and Public Access Unix, +1 415 969 8238
Date: Sat, 25 Jul 1992 01:19:58 GMT
Lines: 39