ID: 9360
Updated by: sas
Reported By: [EMAIL PROTECTED]
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  [EMAIL PROTECTED]

Previous Comments:
---------------------------------------------------------------------------

[2001-02-20 17:10:25] [EMAIL PROTECTED]
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


-- 
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]

Reply via email to