freebsd-ports/x11-toolkits/xmhtml/files/patch-ai
Dirk Meyer 33825b2fcd Apply patch for:
XmHTML does not build: debug.c:113: initializer element is not constant
When trying to build XmHTML-1.1.7_1 on -current as of 7-JAN-2002, I got
the following error during build:
rm -f .libs/debug.lo
cc -O -pipe -DVERSION=1107 -DHAVE_REGEX_H -DHAVE_LIBJPEG -DHAVE_LIBPNG -DMotif -I. -I../include -I../include/common -I../../include -I../../include/common -I../../include/XmHTML -I/usr/X11R6/include -I/usr/local/include -c debug.c  -fPIC -DPIC -o .libs/debug.lo
debug.c:113: initializer element is not constant
gmake[2]: *** [debug.o] Fehler 1

Strangely enough, the build continued without rebuilding the remaining
files of this directory.  The make install aborted, of course, because
parts of the product had not been built.
 (gmake problem)

PR:		34636
Submitted by:	gwk@mscsoftware.com
Approved by:	Lars.Koeller@Uni-Bielefeld.DE
2002-04-02 15:56:16 +00:00

80 lines
1.9 KiB
Text

--- lib/common/debug.c.old Tue Oct 6 21:58:00 1998
+++ lib/common/debug.c Tue Feb 5 12:08:16 2002
@@ -110,7 +110,7 @@
/*** Private Function Prototype Declarations ****/
/*** Private Variable Declarations ***/
-static FILE *__rsd_debug_file = stdout;
+static FILE *__rsd_debug_file;
/*****
* When debug output is send to a file, we register an exit func to close
@@ -128,7 +128,11 @@
#endif
{
/* close output file */
- fclose(__rsd_debug_file);
+ if (__rsd_debug_file) {
+ fclose(__rsd_debug_file);
+ __rsd_debug_file = NULL;
+ }
+
}
/*****
@@ -146,6 +150,7 @@
#ifdef __STDC__
__rsd_fprintf(char *fmt, ...)
{
+ register FILE *fp = (__rsd_debug_file ? __rsd_debug_file : stdout);
va_list arg_list;
va_start(arg_list, fmt);
@@ -155,15 +160,16 @@
char *fmt;
va_dcl
{
+ register FILE *fp = (__rsd_debug_file ? __rsd_debug_file : stdout);
va_list arg_list;
va_start(arg_list);
#endif /* __STDC__ */
/* flush to file */
- vfprintf(__rsd_debug_file, fmt, arg_list);
+ vfprintf(fp, fmt, arg_list);
va_end(arg_list);
- fflush(__rsd_debug_file);
+ fflush(fp);
}
/*****
@@ -298,8 +304,10 @@
if((chPtr = strstr(argv[i], ":")) != NULL)
{
/* close any existing output file */
- if(__rsd_debug_file != stdout)
+ if(__rsd_debug_file) {
fclose(__rsd_debug_file);
+ __rsd_debug_file = NULL;
+ }
chPtr++; /* skip : */
if(!strcmp(chPtr, "pid")) /* <pid>.out */
@@ -336,14 +344,14 @@
fprintf(stderr, "__rsd_setDebugLevels: failed to open "
"output file %s (errno = %i), reverting to "
"stdout\n", tmp, errno);
- __rsd_debug_file = stdout;
+ __rsd_debug_file = NULL;
}
}
else
{
fprintf(stderr, "__rsd_setDebugLevels: missing arg to "
"-dfile:, reverting to stdout\n");
- __rsd_debug_file = stdout;
+ __rsd_debug_file = NULL;
}
/* remove from cmd line */
REMOVE_ARG;