PHP 4.0 Bug #9360 Updated: Type of the parameter conflicts with previous declaration of function
| From: | sas@php.net | Date: | Sat, 24 Feb 2001 21:24:07 +0000 |
| Subject: | PHP 4.0 Bug #9360 Updated: Type of the parameter conflicts with previous declaration of function | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-47423@lists.php.net to get a copy of this message | ||
ID: 9360
Updated by: sas
Reported By: amra@us.ibm.com
Old-Status: Open
Status: Closed
Bug Type: Compile Failure
Assigned To:
Comments:
All above warnings/errors are caused by apparently non-conforming system header files.
Details can be found in Pine.LNX.4.31.0102210826100.2044-100000@rossini.schumann.cx
Previous Comments:
---------------------------------------------------------------------------
[2001-02-20 17:10:25] amra@us.ibm.com
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.
---------------------------------------------------------------------------
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=9360&edit=2