From: [EMAIL PROTECTED]
Operating system: OS400
PHP version: 4.0.4pl1
PHP Bug Type: Compile Failure
Bug description: Type of the parameter conflicts with previous declaration of function
When compiling using a C compiler, it does not allow parameters that are defined as
const to be passed to a function that does not have the const qualifier in the
prototype. Also, there are some parameter mismatches. Details below.
---------- begin [main/network.c] ----------
ERROR :129 Type of the parameter conflicts with previous declaration of function .
INFORMATIONAL :129 Prototype has type pointer to unsigned character .
INFORMATIONAL :129 Argument has type pointer to constant unsigned character .
---------- end [network.qwobj] ----------
Line 129:
host_info = gethostbyname(host);
But host is const char *. So I had to change line to as follows:
host_info = gethostbyname((char *)host);
---------- begin [fsock.qwobj] ----------
ERROR :110 Type of the parameter conflicts with previous declaration of function .
INFORMATIONAL :110 Prototype has type pointer to unsigned character .
INFORMATIONAL :110 Argument has type pointer to constant unsigned character .
ERROR :183 Type of the parameter conflicts with previous declaration of function .
INFORMATIONAL :183 Prototype has type pointer to unsigned character .
INFORMATIONAL :183 Argument has type pointer to signed integer .
ERROR :183 Type of the parameter conflicts with previous declaration of function .
INFORMATIONAL :183 Prototype has type pointer to signed integer .
INFORMATIONAL :183 Argument has type pointer to unsigned integer .
---------- end [fsock.qwobj] ----------
Line 110:
host_info = gethostbyname((char *)addr);
But addr is const char *. So I had to change line to as follows:
host_info = gethostbyname((char *)addr);
Line 183:
Protoype for getsockopt is: getsockopt(int, int, int, char *, int *).
However, Line 183 contains:
if (getsockopt(sockfd, SOL_SOCKET, SO_ERROR, &error, &len) < 0) {
where error is int and len is socklen_t. I had to change line to as follows:
if (getsockopt(sockfd, SOL_SOCKET, SO_ERROR, (char *)&error, (int *)&len) < 0) {
I hope that these types of changes are made, so as to compile easily on any platform.
--
Edit Bug report at: http://bugs.php.net/?id=9360&edit=1
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]