|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2003-06-14 04:21 UTC] helly@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Dec 03 16:00:01 2025 UTC |
Description: ------------ Tru64 UNIX 4.0D doesn't have vsnprintf(). So, the following code in Zend/zend.c is built: strncpy(z_error_message->value.str.val, va_arg(format, char *), ZEND_ERROR_BUFFER_SIZE); Unfortunately, va_arg() in <varargs.h> on Tru64 UNIX expects the first argument ("format" in this case) to be of type struct va_list. Hence the error: cc: Error: /opt/build/php-4.3.2/Zend/zend.c, line 763: In this statement, "(format)" has a pointer type, but occurs in a context that requires a union or struct. (needstruct) strncpy(z_error_message->value.str.val, va_arg(format, char *), ZEND_ERROR_BUFFER_SIZE); ----------------------------------------------------------------^ gmake: *** [Zend/zend.lo] Error 1 In <va_list.h>, va_list is defined as: typedef struct { char **_a0; int _offset; } va_list; I checked out CVS head and replaced the offending 4.3.2 Zend/zend.c code with CVS Zend/zend.c and it built ok. Is that the proper solution?