[Freeswitch-trunk] [commit] r6359 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip
Freeswitch SVN
mikej at freeswitch.org
Tue Nov 20 09:45:37 EST 2007
Author: mikej
Date: Tue Nov 20 09:45:37 2007
New Revision: 6359
Modified:
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tagarg.h
Log:
Tue Nov 20 06:32:08 EST 2007 Pekka Pessi <Pekka.Pessi at nokia.com>
* su_tagarg.h: call va_copy() before calling tl_vlist()
Looks like Solaris on amd64 is not happy with normal va_start()/va_end() use
of va_lists.
Thanks for Michael Jerris for reporting the problem.
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 Nov 20 09:45:37 2007
@@ -142,8 +142,11 @@
if (ta_start__tag != NULL && \
ta_start__tag != tag_null && \
ta_start__tag != tag_next) { \
+ va_list ta_start__ap; \
+ 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).ap); \
+ (ta).tl[1].t_value = (tag_value_t)tl_vlist(ta_start__ap); \
+ va_end(ta_start__ap); \
} else { \
(ta).tl[1].t_value = 0; (ta).tl[1].t_value = (tag_value_t)0; \
} \
More information about the Freeswitch-trunk
mailing list