Further outstanding 64-bit issues with PHP_4_3

[email protected] (James Devenish) Sat, 8 Mar 2003 18:53:51 +0800
Newsgroups php.dev
Message-ID <[email protected]>
Hi,

Just looking at CVS diffs (can't compile at the moment due to
./configure breakage), I can see...

Remaining zend_parse_parameters problems:

    php4/ext/ftp/php_ftp.c
    php4/ext/sockets/sockets.c

General LP64 incompatabilities left over from my November patches:

    php4/ext/pgsql/pgsql.c
    php4/ext/standard/url_scanner.c
    php4/ext/standard/url_scanner_ex.c

    php4/main/network.c
    php4/main/streams.c
        (Need to check: is _php_stream_cast safe? If not, then
        main/streams/cast.c in HEAD is probably not)
    php4/main/streams/plain_wrapper.c
    php4/main/streams/xp_socket.c

And of course the OnUpdateLong stuff, but I guess that's in process.
PHP_4_3-LP64.diff (text/plain, 8.1 KB)
Index: ext/ftp/php_ftp.c
===================================================================
RCS file: /repository/php4/ext/ftp/php_ftp.c,v
retrieving revision 1.74.2.5
diff -u -u -r1.74.2.5 php_ftp.c
--- ext/ftp/php_ftp.c	7 Mar 2003 13:42:13 -0000	1.74.2.5
+++ ext/ftp/php_ftp.c	8 Mar 2003 10:48:15 -0000
@@ -470,7 +470,7 @@
 	php_stream	*stream;
 	char		*file;
 	int		file_len;
-	long 		mode, resumepos=0;
+	long		mode, resumepos=0;
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rrsl|l", &z_ftp, &z_file, &file, &file_len, &mode, &resumepos) == FAILURE) {
 		return;
@@ -843,7 +843,7 @@
 	char		*remote, *local;
 	int		remote_len, local_len;
 	long		mode, startpos=0;
-	php_stream * instream;
+	php_stream	*instream;
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rssl|l", &z_ftp, &remote, &remote_len, &local, &local_len, &mode, &startpos) == FAILURE) {
 		return;
@@ -897,8 +897,8 @@
 	ftptype_t	xtype;
 	char		*remote, *local;
 	int		remote_len, local_len, ret;
-	int		mode, startpos=0;
-	php_stream * instream;
+	long		mode, startpos=0;
+	php_stream	*instream;
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rssl|l", &z_ftp, &remote, &remote_len, &local, &local_len, &mode, &startpos) == FAILURE) {
 		return;
Index: ext/sockets/sockets.c
===================================================================
RCS file: /repository/php4/ext/sockets/sockets.c,v
retrieving revision 1.125.2.4
diff -u -u -r1.125.2.4 sockets.c
--- ext/sockets/sockets.c	7 Mar 2003 13:42:18 -0000	1.125.2.4
+++ ext/sockets/sockets.c	8 Mar 2003 10:48:15 -0000
@@ -776,7 +776,7 @@
 	php_socket	*php_sock;
 	char		*tmpbuf;
 	int			retval;
-	long			length, type = PHP_BINARY_READ;
+	long		length, type = PHP_BINARY_READ;
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl|l", &arg1, &length, &type) == FAILURE)
 		return;
@@ -966,7 +966,7 @@
 	struct sockaddr_un	s_un;
 	char				*addr;
 	int					retval, addr_len;
-	long					port;
+	long				port;
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs|l", &arg1, &addr, &addr_len, &port) == FAILURE)
 		return;
@@ -1035,7 +1035,7 @@
 	php_socket				*php_sock;
 	char					*addr;
 	int						addr_len;
-	int						port = 0;
+	long					port = 0;
 	long					retval = 0;
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs|l", &arg1, &addr, &addr_len, &port) == FAILURE)
@@ -1316,7 +1316,7 @@
 	char		*recv_buf;
 	php_socket	*php_sock;
 	int			retval;
-	long			len, flags;
+	long		len, flags;
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rzll", &php_sock_res, &buf, &len, &flags) == FAILURE)
 		return;
@@ -1358,7 +1358,7 @@
 	zval		*arg1;
 	php_socket	*php_sock;
 	int			buf_len, retval;
-	long			len, flags;
+	long		len, flags;
 	char		*buf;
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rsll", &arg1, &buf, &buf_len, &len, &flags) == FAILURE)
@@ -1387,7 +1387,7 @@
 	struct sockaddr_in	sin;
 	socklen_t			slen;
 	int					retval;
-	long					arg3, arg4;
+	long				arg3, arg4;
 	char				*recv_buf, *address;
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rzllz|z", &arg1, &arg2, &arg3, &arg4, &arg5, &arg6) == FAILURE)
@@ -1464,7 +1464,7 @@
 	struct sockaddr_un	s_un;
 	struct sockaddr_in	sin;
 	int					retval, buf_len, addr_len;
-	long					len, flags, port = 0;
+	long				len, flags, port = 0;
 	char				*buf, *addr;
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rslls|l", &arg1, &buf, &buf_len, &len, &flags, &addr, &addr_len, &port) == FAILURE)
@@ -1673,7 +1673,7 @@
 	char			*addr;
 	socklen_t		salen;
 	int				addr_len;
-	long				flags, port;
+	long			flags, port;
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rrls|l", &arg1, &arg2, &flags, &addr, &addr_len, &port) == FAILURE)
 		return;
@@ -1755,11 +1755,11 @@
 {
 	zval			*arg1;
 	struct linger	linger_val;
-	struct timeval		tv;
+	struct timeval	tv;
 	socklen_t		optlen;
 	php_socket		*php_sock;
 	int				other_val;
-	long				level, optname;
+	long			level, optname;
 
 	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rll", &arg1, &level, &optname) == FAILURE)
 		return;
@@ -1823,7 +1823,7 @@
 	struct timeval tv;
 	php_socket		*php_sock;
 	int				ov, optlen, retval;
-	long				level, optname;
+	long			level, optname;
 	void 			*opt_ptr;
 	
 	HashTable 		*opt_ht;
Index: ext/pgsql/pgsql.c
===================================================================
RCS file: /repository/php4/ext/pgsql/pgsql.c,v
retrieving revision 1.244.2.11
diff -u -u -r1.244.2.11 pgsql.c
--- ext/pgsql/pgsql.c	7 Mar 2003 13:42:16 -0000	1.244.2.11
+++ ext/pgsql/pgsql.c	8 Mar 2003 10:48:16 -0000
@@ -3081,7 +3081,7 @@
 	PGresult *pg_result;
 	char *tmp_name;
 	smart_str querystr = {0};
-	size_t new_len;
+	int new_len;
 	int i, num_rows;
 	zval *elem;
 	
@@ -3093,7 +3093,7 @@
 	tmp_name = php_addslashes((char *)table_name, strlen(table_name), &new_len, 0 TSRMLS_CC);
 	smart_str_appendl(&querystr, tmp_name, new_len);
 	efree(tmp_name);
-
+	
 	smart_str_appends(&querystr, "' AND a.atttypid = t.oid ORDER BY a.attnum;");
 	smart_str_0(&querystr);
 	
@@ -3981,7 +3981,8 @@
 	char buf[256];
 	char *fld;
 	smart_str querystr = {0};
-	int key_type, fld_len, ret = FAILURE;
+	int key_type, ret = FAILURE;
+	uint fld_len;
 	ulong num_idx;
 	HashPosition pos;
 
@@ -4111,7 +4112,7 @@
 static inline int build_assignment_string(smart_str *querystr, HashTable *ht, const char *pad, int pad_len TSRMLS_DC)
 {
 	HashPosition pos;
-	size_t fld_len;
+	uint fld_len;
 	int key_type;
 	ulong num_idx;
 	char *fld;
@@ -4352,7 +4353,7 @@
 {
 	zval *row;
 	char *field_name, *element, *data;
-	size_t num_fields, element_len, data_len;
+	int num_fields, element_len, data_len;
 	int pg_numrows, pg_row;
 	uint i;
 	assert(Z_TYPE_P(ret_array) == IS_ARRAY);
Index: ext/standard/url_scanner_ex.c
===================================================================
RCS file: /repository/php4/ext/standard/url_scanner_ex.c,v
retrieving revision 1.72.2.2
diff -u -u -r1.72.2.2 url_scanner_ex.c
--- ext/standard/url_scanner_ex.c	12 Feb 2003 14:58:30 -0000	1.72.2.2
+++ ext/standard/url_scanner_ex.c	8 Mar 2003 10:48:16 -0000
@@ -860,7 +860,7 @@
 }
 
 
-static char *url_adapt_ext(const char *src, size_t srclen, size_t *newlen, zend_bool do_flush TSRMLS_DC)
+static char *url_adapt_ext(const char *src, uint srclen, uint *newlen, zend_bool do_flush TSRMLS_DC)
 {
 	url_adapt_state_ex_t *ctx;
 	char *retval;
Index: main/network.c
===================================================================
RCS file: /repository/php4/main/network.c,v
retrieving revision 1.83.2.4
diff -u -u -r1.83.2.4 network.c
--- main/network.c	5 Mar 2003 01:28:45 -0000	1.83.2.4
+++ main/network.c	8 Mar 2003 10:48:16 -0000
@@ -1094,7 +1094,7 @@
 				return FAILURE;
 #endif
 			if (ret)
-				*ret = (void*)sock->socket;
+				*(int*)ret = sock->socket;
 			return SUCCESS;
 		default:
 			return FAILURE;
Index: main/streams.c
===================================================================
RCS file: /repository/php4/main/Attic/streams.c,v
retrieving revision 1.125.2.37
diff -u -u -r1.125.2.37 streams.c
--- main/streams.c	6 Mar 2003 20:58:19 -0000	1.125.2.37
+++ main/streams.c	8 Mar 2003 10:48:16 -0000
@@ -1532,7 +1532,7 @@
 			}
 			if (ret) {
 				fflush(data->file);
-				*ret = (void*)fd;
+				*(int*)ret = fd;
 			}
 			return SUCCESS;
 		default:
Index: main/streams/plain_wrapper.c
===================================================================
RCS file: /repository/php4/main/streams/plain_wrapper.c,v
retrieving revision 1.9
diff -u -u -r1.9 plain_wrapper.c
--- main/streams/plain_wrapper.c	1 Mar 2003 17:27:23 -0000	1.9
+++ main/streams/plain_wrapper.c	8 Mar 2003 10:48:16 -0000
@@ -505,7 +505,7 @@
 				fflush(data->file);
 			}
 			if (ret) {
-				*ret = (void*)fd;
+				*(int*)ret = fd;
 			}
 			return SUCCESS;
 		default:
Index: main/streams/xp_socket.c
===================================================================
RCS file: /repository/php4/main/streams/xp_socket.c,v
retrieving revision 1.7
diff -u -u -r1.7 xp_socket.c
--- main/streams/xp_socket.c	3 Mar 2003 19:57:18 -0000	1.7
+++ main/streams/xp_socket.c	8 Mar 2003 10:48:16 -0000
@@ -276,7 +276,7 @@
 		case PHP_STREAM_AS_FD:
 		case PHP_STREAM_AS_SOCKETD:
 			if (ret)
-				*ret = (void*)sock->socket;
+				*(int*)ret = sock->socket;
 			return SUCCESS;
 		default:
 			return FAILURE;