[Freeswitch-svn] [commit] r9269 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/su/sofia-sip

Freeswitch SVN mikej at freeswitch.org
Tue Aug 12 13:04:16 EDT 2008


Author: mikej
Date: Tue Aug 12 13:04:16 2008
New Revision: 9269

Modified:
   freeswitch/trunk/libs/sofia-sip/.update
   freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tagarg.h

Log:
Thu Jul 24 13:02:17 EDT 2008  Pekka Pessi <first.last at nokia.com>
  * sofia-sip/su_tagarg.h: if va_copy is missing, fall back to __va_copy or memcpy



Modified: freeswitch/trunk/libs/sofia-sip/.update
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/.update	(original)
+++ freeswitch/trunk/libs/sofia-sip/.update	Tue Aug 12 13:04:16 2008
@@ -1 +1 @@
-Tue Aug 12 13:03:36 EDT 2008
+Tue Aug 12 13:04:10 EDT 2008

Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tagarg.h
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tagarg.h	(original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tagarg.h	Tue Aug 12 13:04:16 2008
@@ -82,6 +82,14 @@
   va_list ap;
 } ta_list;
 
+#if defined(va_copy)
+#define su_va_copy(dst, src) va_copy((dst), (src))
+#elif defined(__va_copy)
+#define su_va_copy(dst, src) __va_copy((dst), (src))
+#else
+#define su_va_copy(dst, src) (memcpy(&(dst), &(src), sizeof (va_list)))
+#endif
+
 /**Macro initializing a ta_list object.
  *
  * The ta_start() macro initializes @a ta for subsequent use by ta_args(),
@@ -143,7 +151,7 @@
 	ta_start__tag != tag_null &&					\
 	ta_start__tag != tag_next) {					\
       va_list ta_start__ap;						\
-      va_copy(ta_start__ap, (ta).ap);					\
+      su_va_copy(ta_start__ap, (ta).ap);				\
       (ta).tl[1].t_tag = tag_next;					\
       (ta).tl[1].t_value = (tag_value_t)tl_vlist(ta_start__ap);		\
       va_end(ta_start__ap);						\



More information about the Freeswitch-svn mailing list