OSSP CVS Repository

ossp - Ticket #53
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Attach]  [Edit]  [History

Ticket 53: on certain architectures assignment va_list a = b; fails

As in the summary: on some architectures (ppc for example) the code:
va_list a;
va_list b;
b = a;
will fail. After a quick googling I've found a solution:
__va_copy(b,a);
is the proper code - on some architectures va_list is defined differently and the simple substitution will fail. On such architectures the xds build fails with:
xds.c: In function `xds_vencode':
xds.c:386: error: incompatible types in assignment
xds.c:391: warning: passing arg 6 of pointer to function from incompatible pointer type
xds.c: In function `xds_vdecode':
xds.c:486: warning: passing arg 6 of pointer to function from incompatible pointer type
make: *** [xds.lo] Error 1

the warnings are fixed with (va_list *) in front of the argument in question - I checked and it seems that the argument is proper anyways...
[Add remarks]

Remarks:

Properties:

Type: code           Version: 0.9.1 
Status: new          Created: 2004-Nov-08 17:37
Severity:          Last Change: 2004-Nov-08 17:37
Priority:          Subsystem: xds 
Assigned To: rse           Derived From:  
Creator: anonymous 

CVSTrac 2.0.1