va_arg_t has not been in a state where you can assume it is scalar for a
while now, it will work as scalar on most x86 linux distributions but not
all.

Index: ChangeLog
===================================================================
RCS file: /cvsroot/undernet-ircu/ircu2.10/ChangeLog,v
retrieving revision 1.290.2.129.2.29
diff -b -u -d -r1.290.2.129.2.29 ChangeLog
--- ChangeLog   2 Dec 2003 09:00:28 -0000       1.290.2.129.2.29
+++ ChangeLog   18 Dec 2003 20:17:12 -0000
@@ -1,3 +1,6 @@
+2003-12-18  Timothy Grant Vogelsang <[EMAIL PROTECTED]>
+       * ircd/ircd_log.c, ircd/send.c: va_arg_t is not a scalar type
+
 2003-12-02  Perry Lorier <[EMAIL PROTECTED]>
        * ircd/gline.c: Patch gline_find not to core on the *second* gline
        added.
Index: ircd/ircd_log.c
===================================================================
RCS file: /cvsroot/undernet-ircu/ircu2.10/ircd/ircd_log.c,v
retrieving revision 1.12.2.2
diff -b -u -d -r1.12.2.2 ircd_log.c
--- ircd/ircd_log.c     24 Aug 2002 16:08:48 -0000      1.12.2.2
+++ ircd/ircd_log.c     18 Dec 2003 20:17:13 -0000
@@ -395,7 +395,7 @@

   /* Build the basic log string */
   vd.vd_format = fmt;
-  vd.vd_args = vl;
+  va_copy(vd.vd_args, vl);

   /* save the length for writev */
   /* Log format: "SYSTEM [SEVERITY]: log message" */
Index: ircd/send.c
===================================================================
RCS file: /cvsroot/undernet-ircu/ircu2.10/ircd/send.c,v
retrieving revision 1.44.2.9
diff -b -u -d -r1.44.2.9 send.c
--- ircd/send.c 15 Dec 2002 01:02:44 -0000      1.44.2.9
+++ ircd/send.c 18 Dec 2003 20:17:15 -0000
@@ -697,7 +697,7 @@
    * this is ok...
    */
   vd.vd_format = pattern;
-  vd.vd_args = vl;
+  va_copy(vd.vd_args, vl);
   mb = msgq_make(0, ":%s " MSG_NOTICE " * :*** Notice -- %v",
cli_name(&me),
                 &vd);


Timothy Grant Vogelsang
netski


Reply via email to