forked from Mirrors/freeswitch
Thu Jul 24 13:02:17 EDT 2008 Pekka Pessi <first.last@nokia.com>
* sofia-sip/su_tagarg.h: if va_copy is missing, fall back to __va_copy or memcpy git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9269 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
32f23073b7
commit
e5f406b9b6
@ -1 +1 @@
|
||||
Tue Aug 12 13:03:36 EDT 2008
|
||||
Tue Aug 12 13:04:10 EDT 2008
|
||||
|
@ -82,6 +82,14 @@ typedef struct {
|
||||
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 @@ typedef struct {
|
||||
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); \
|
||||
|
Loading…
Reference in New Issue
Block a user