[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: lynx-dev VARARGS and HTSprintf
From: |
dickey |
Subject: |
Re: lynx-dev VARARGS and HTSprintf |
Date: |
Sun, 22 Nov 1998 15:14:23 -0500 (EST) |
> I didn't pay enough attention to the varargs discussion in
> the last couple days. dev.6 breaks on OS/390 with:
>
> Library/Implementation/HTString.c
> ERROR CBC3343 ./../../../../WWW/Library/Implementation/HTString.c:549
> Redeclaration of HTSprintf differs from previous declaration
> on line 57 of "../../../../WWW/Library/Implementation/HTString.h".
> ERROR CBC3343 ./../../../../WWW/Library/Implementation/HTString.c:580
> Redeclaration of HTSprintf0 differs from previous declaration on
> line 59 of "../../../../WWW/Library/Implementation/HTString.h".
> FSUM3065 The COMPILE step ended with return code 12.
>
> I believe OS/390 is a pathological situation; ANSI_VARARGS is defined,
> but a compiler bug (fixed in Next Release, I hope) forces me to run
> with __STDC__ undefined. This sends me down a truly bizarre path.
ok - your patch looks fine in this context, since the ANSI_VARARGS shouldn't
be defined unless the prototype is legal syntax. (Larry may also hit this
with the Solaris compiler).
> So, the attached patch may not be suitable for everyone; in fact,
> it may be suitable for no one but me. I merely offer that it
> circumvents the defect of OS/390, and seems to break nothing
> additional with gcc on Solaris 2.5.
>
> FWIW,
> gil
> =========================================================
> diff -brc ./orig/lynxsrc/WWW/Library/Implementation/HTString.h
> ./lynxsrc/WWW/Library/Implementation/HTString.h
> *** ./orig/lynxsrc/WWW/Library/Implementation/HTString.h Sat Nov 21 09:32:10
> 1998
> --- ./lynxsrc/WWW/Library/Implementation/HTString.h Sun Nov 22 11:35:31 1998
> ***************
> *** 54,62 ****
> CONST char * delims, CONST char * bracks, char * found));
>
> #if ANSI_VARARGS
> ! extern char * HTSprintf PARAMS((char ** pstr, CONST char * fmt, ...))
> GCC_PRINTFLIKE(2,3);
> ! extern char * HTSprintf0 PARAMS((char ** pstr, CONST char * fmt, ...))
> GCC_PRINTFLIKE(2,3);
> #else
> extern char * HTSprintf () GCC_PRINTFLIKE(2,3);
> --- 54,62 ----
> CONST char * delims, CONST char * bracks, char * found));
>
> #if ANSI_VARARGS
> ! extern char * HTSprintf (char ** pstr, CONST char * fmt, ...)
> GCC_PRINTFLIKE(2,3);
> ! extern char * HTSprintf0 (char ** pstr, CONST char * fmt, ...)
> GCC_PRINTFLIKE(2,3);
> #else
> extern char * HTSprintf () GCC_PRINTFLIKE(2,3);
--
Thomas E. Dickey
address@hidden
http://www.clark.net/pub/dickey