From: <da...@us...> - 2003-08-04 00:48:41
|
Update of /cvsroot/binaryphp/binaryphp/functions/sockets In directory sc8-pr-cvs1:/tmp/cvs-serv18640/functions/sockets Modified Files: socket_connect.cpp socket_create.cpp socket_read.cpp socket_write.cpp Log Message: Concatenation works. === and !== work. Index: socket_connect.cpp =================================================================== RCS file: /cvsroot/binaryphp/binaryphp/functions/sockets/socket_connect.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** socket_connect.cpp 3 Aug 2003 06:36:03 -0000 1.1 --- socket_connect.cpp 4 Aug 2003 00:48:37 -0000 1.2 *************** *** 8,14 **** --- 8,18 ---- sin.sin_family = AF_INET; sin.sin_port = htons((unsigned short int)(int)port); + #ifdef WIN32 + if((tmp.s_addr=inet_addr(addr))==INADDR_NONE) + #else if(inet_aton(addr, &tmp)) sin.sin_addr.s_addr = tmp.s_addr; else + #endif { if(!(host_entry = gethostbyname(addr))) *************** *** 23,25 **** return (php_var) false; return (php_var) true; ! } \ No newline at end of file --- 27,29 ---- return (php_var) false; return (php_var) true; ! } Index: socket_create.cpp =================================================================== RCS file: /cvsroot/binaryphp/binaryphp/functions/sockets/socket_create.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** socket_create.cpp 3 Aug 2003 06:36:03 -0000 1.1 --- socket_create.cpp 4 Aug 2003 00:48:37 -0000 1.2 *************** *** 7,15 **** php_var socket_create(php_var domain, php_var type, php_var protocol) { ! php_socket sock; sock.sock = socket((long) domain, (long) type, (long) protocol); if(sock.sock < 0) return (php_var) false; ! sock.type = type; php_var ret; ret.res = (void *) &sock; --- 7,30 ---- php_var socket_create(php_var domain, php_var type, php_var protocol) { ! static php_socket sock; ! #ifdef WIN32 ! static int done_start=0; ! if(done_start==0) { ! WORD wVersionRequested = MAKEWORD(2, 0); ! WSADATA wsaData; ! if (WSAStartup(wVersionRequested, &wsaData) != 0) { ! return (php_var)false; ! } ! done_start=1; ! } ! #endif sock.sock = socket((long) domain, (long) type, (long) protocol); + #ifdef WIN32 + if(sock.sock == INVALID_SOCKET) + #else if(sock.sock < 0) + #endif return (php_var) false; ! sock.type = type; php_var ret; ret.res = (void *) &sock; Index: socket_read.cpp =================================================================== RCS file: /cvsroot/binaryphp/binaryphp/functions/sockets/socket_read.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** socket_read.cpp 3 Aug 2003 06:36:03 -0000 1.1 --- socket_read.cpp 4 Aug 2003 00:48:37 -0000 1.2 *************** *** 5,15 **** php_socket *socket = (php_socket *) sock.res; int ret; ! char *buf = new char[len]; ! ret = recv(socket->sock, buf, len, 0); if(ret < 0) return (php_var) false; php_var retu = buf; ! cout << buf << " -" << endl; ! // delete buf; return retu; } --- 5,16 ---- php_socket *socket = (php_socket *) sock.res; int ret; ! char *buf; ! buf = (char*)malloc((int)len+1); ! memset(buf,0,(int)len+1); ! ret = recv(socket->sock, buf, (int)len, 0); if(ret < 0) return (php_var) false; php_var retu = buf; ! free(buf); return retu; } Index: socket_write.cpp =================================================================== RCS file: /cvsroot/binaryphp/binaryphp/functions/sockets/socket_write.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** socket_write.cpp 3 Aug 2003 06:36:03 -0000 1.1 --- socket_write.cpp 4 Aug 2003 00:48:37 -0000 1.2 *************** *** 4,8 **** --- 4,12 ---- if(len == 0) len = buf.container.length(); + #ifdef WIN32 + if(send(socket->sock, buf.container.c_str(), (int) len,0) < 0) + #else if(write(socket->sock, buf.container.c_str(), (int) len) < 0) + #endif return (php_var) false; return (php_var) true; |