diff options
Diffstat (limited to 'nanohttp/nanohttp-socket.c')
| -rw-r--r-- | nanohttp/nanohttp-socket.c | 116 | 
1 files changed, 58 insertions, 58 deletions
| diff --git a/nanohttp/nanohttp-socket.c b/nanohttp/nanohttp-socket.c index 6d93fe2..869bc40 100644 --- a/nanohttp/nanohttp-socket.c +++ b/nanohttp/nanohttp-socket.c @@ -1,5 +1,5 @@  /****************************************************************** -*  $Id: nanohttp-socket.c,v 1.31 2004/10/29 09:27:05 snowdrop Exp $ +*  $Id: nanohttp-socket.c,v 1.32 2004/11/02 23:09:27 snowdrop Exp $  *  * CSOAP Project:  A http client/server library in C  * Copyright (C) 2003  Ferhat Ayaz @@ -67,14 +67,14 @@  #ifdef MEM_DEBUG  #include <utils/alloc.h>  #endif -
 -
 -#ifdef WIN32
 -#undef errno
 -#define errno WSAGetLastError()
 -#endif
 -
 -
 + + +#ifdef WIN32 +#undef errno +#define errno WSAGetLastError() +#endif + +  /*--------------------------------------------------  FUNCTION: hsocket_module_init @@ -141,12 +141,12 @@ hsocket_open (hsocket_t * dsock, const char *hostname, int port)    sock = socket (AF_INET, SOCK_STREAM, 0);    if (sock <= 0) -    return herror_new("hsocket_open", HSOCKET_ERROR_CREATE, "Socket error: %d", errno);
 +    return herror_new("hsocket_open", HSOCKET_ERROR_CREATE, "Socket error: %d", errno);    /* Get host data */    host = gethostbyname (hostname);    if (host == NULL) -    return herror_new("hsocket_open", HSOCKET_ERROR_GET_HOSTNAME, "Socket error: %d", errno);
 +    return herror_new("hsocket_open", HSOCKET_ERROR_GET_HOSTNAME, "Socket error: %d", errno);    ip = inet_ntoa (*(struct in_addr *) *host->h_addr_list);    address.sin_addr.s_addr = inet_addr (ip); @@ -157,8 +157,8 @@ hsocket_open (hsocket_t * dsock, const char *hostname, int port)    /* connect to the server */    if (connect (sock, (struct sockaddr *) &address, sizeof (address)) != 0) -/*    return herror_new("hsocket_open", HSOCKET_ERROR_CONNECT, "Connect to '%s:%d' failed", hostname, port);*/
 -    return herror_new("hsocket_open", HSOCKET_ERROR_CONNECT, "Socket error: %d", errno);
 +/*    return herror_new("hsocket_open", HSOCKET_ERROR_CONNECT, "Connect to '%s:%d' failed", hostname, port);*/ +    return herror_new("hsocket_open", HSOCKET_ERROR_CONNECT, "Socket error: %d", errno);    *dsock = sock;    return H_OK; @@ -178,7 +178,7 @@ hsocket_bind (hsocket_t * dsock, int port)    if (sock == -1)    {      log_error3 ("Can not create socket: '%s'", "Socket error: %d", errno); -    return herror_new("hsocket_bind", HSOCKET_ERROR_CREATE, "Socket error: %d", errno);
 +    return herror_new("hsocket_bind", HSOCKET_ERROR_CREATE, "Socket error: %d", errno);    }    /* bind socket */    addr.sin_family = AF_INET; @@ -190,7 +190,7 @@ hsocket_bind (hsocket_t * dsock, int port)    if (bind (sock, (struct sockaddr *) &addr, sizeof (struct sockaddr)) == -1)    {      log_error3 ("Can not bind: '%s'", "Socket error: %d", errno); -    return herror_new("hsocket_bind", HSOCKET_ERROR_BIND, "Socket error: %d", errno);
 +    return herror_new("hsocket_bind", HSOCKET_ERROR_BIND, "Socket error: %d", errno);    }    *dsock = sock;    return H_OK; @@ -207,8 +207,8 @@ hsocket_accept (hsocket_t sock, hsocket_t * dest)    struct sockaddr_in addr;    if (sock <= 0) -	return herror_new("hsocket_accept", HSOCKET_ERROR_NOT_INITIALIZED, 
 -	 "Called hsocket_listen() before initializing!");
 +	return herror_new("hsocket_accept", HSOCKET_ERROR_NOT_INITIALIZED,  +	 "Called hsocket_listen() before initializing!");    asize = sizeof (struct sockaddr_in);  #ifdef WIN32 @@ -217,7 +217,7 @@ hsocket_accept (hsocket_t sock, hsocket_t * dest)      sockfd = accept (sock, (struct sockaddr *) &addr, &asize);      if (sockfd == INVALID_SOCKET)   {        if (WSAGetLastError () != WSAEWOULDBLOCK) -		return herror_new("hsocket_accept", HSOCKET_ERROR_ACCEPT, "Socket error: %d", errno);
 +		return herror_new("hsocket_accept", HSOCKET_ERROR_ACCEPT, "Socket error: %d", errno);      } else  {        break;      } @@ -226,7 +226,7 @@ hsocket_accept (hsocket_t sock, hsocket_t * dest)  /* TODO (#1#): why not a loop like in win32? */    sockfd = accept (sock, (struct sockaddr *) &addr, &asize);    if (sockfd == -1) { -		return herror_new("hsocket_accept", HSOCKET_ERROR_ACCEPT, "Socket error: %d", errno);
 +		return herror_new("hsocket_accept", HSOCKET_ERROR_ACCEPT, "Socket error: %d", errno);    }  #endif   /* TODO (#1#): Write to access.log file */ @@ -245,13 +245,13 @@ herror_t  hsocket_listen (hsocket_t sock)  {    if (sock <= 0) -	return herror_new("hsocket_listen", HSOCKET_ERROR_NOT_INITIALIZED, 
 -	 "Called hsocket_listen() before initializing!");
 +	return herror_new("hsocket_listen", HSOCKET_ERROR_NOT_INITIALIZED,  +	 "Called hsocket_listen() before initializing!");    if (listen (sock, 15) == -1)    {      log_error3 ("Can not listen: '%s'", "Socket error: %d", errno); -	return herror_new("hsocket_listen", HSOCKET_ERROR_LISTEN, "Socket error: %d", errno);
 +	return herror_new("hsocket_listen", HSOCKET_ERROR_LISTEN, "Socket error: %d", errno);    }    return H_OK; @@ -304,8 +304,8 @@ hsocket_close (hsocket_t sock)    char junk[10];  /*  _hsocket_wait_until_receive(sock);*/    log_verbose1 ("closing socket ..."); -/*  
 -  struct linger _linger;
 +/*   +  struct linger _linger;  	hsocket_block(sock,1);    _linger.l_onoff =1;    _linger.l_linger = 30000; @@ -326,17 +326,17 @@ hsocket_close (hsocket_t sock)  #endif    log_verbose1 ("closed");  } -
 -
 -static int _test_send_to_file(const char* filename, const byte_t* bytes,int n)
 -{
 -	int size;
 -	FILE *f = fopen(filename, "ab");
 -	if (!f) f = fopen(filename, "wb");
 -	size= fwrite(bytes, 1, n, f);
 -	fclose(f);
 -	return size;
 -}
 + + +static int _test_send_to_file(const char* filename, const byte_t* bytes,int n) +{ +	int size; +	FILE *f = fopen(filename, "ab"); +	if (!f) f = fopen(filename, "wb"); +	size= fwrite(bytes, 1, n, f); +	fclose(f); +	return size; +}  /*--------------------------------------------------  FUNCTION: hsocket_send @@ -347,27 +347,27 @@ hsocket_nsend (hsocket_t sock, const byte_t *bytes, int n)    int size;    int total=0;    if (sock <= 0) -	return herror_new("hsocket_nsend", HSOCKET_ERROR_NOT_INITIALIZED, 
 -	 "Called hsocket_listen() before initializing!");
 +	return herror_new("hsocket_nsend", HSOCKET_ERROR_NOT_INITIALIZED,  +	 "Called hsocket_listen() before initializing!");    /* TODO (#1#): check return value and send again until n bytes sent */    while (1)    { -    size = send((int) sock, bytes + total, n, 0);
 +    size = send((int) sock, bytes + total, n, 0);  	 /* size = _test_send_to_file(filename, bytes, n);*/  #ifdef WIN32      if (size == INVALID_SOCKET)          if (WSAGetLastError () == WSAEWOULDBLOCK)            continue;          else        -		return herror_new("hsocket_nsend", HSOCKET_ERROR_SEND, "Socket error: %d", errno);
 +		return herror_new("hsocket_nsend", HSOCKET_ERROR_SEND, "Socket error: %d", errno);  #else      if (size == -1) -		return herror_new("hsocket_nsend", HSOCKET_ERROR_SEND, "Socket error: %d", errno);
 +		return herror_new("hsocket_nsend", HSOCKET_ERROR_SEND, "Socket error: %d", errno);  #endif -    n -= size;
 +    n -= size;  	total += size;      if (n<=0) break;    } @@ -393,8 +393,8 @@ hsocket_read (hsocket_t sock, byte_t *buffer, int total, int force, int *receive    int totalRead;    int wsa_error;    totalRead = 0; -/*
 -  log_verbose3("Entering hsocket_read(total=%d,force=%d)", total, force);
 +/* +  log_verbose3("Entering hsocket_read(total=%d,force=%d)", total, force);  */    do    { @@ -412,7 +412,7 @@ hsocket_read (hsocket_t sock, byte_t *buffer, int total, int force, int *receive               continue;            default:               log_error2("WSAGetLastError()=%d", wsa_error); -			return herror_new("hsocket_read", HSOCKET_ERROR_RECEIVE, "Socket error: %d", errno);
 +			return herror_new("hsocket_read", HSOCKET_ERROR_RECEIVE, "Socket error: %d", errno);          }      } @@ -426,13 +426,13 @@ hsocket_read (hsocket_t sock, byte_t *buffer, int total, int force, int *receive     }  */      if (status == -1) -		return herror_new("hsocket_read", HSOCKET_ERROR_RECEIVE, "Socket error: %d", errno);
 +		return herror_new("hsocket_read", HSOCKET_ERROR_RECEIVE, "Socket error: %d", errno);  #endif -    if (!force) {
 -		*received = status;
 -		/*
 -		log_verbose3("Leaving !force (received=%d)(status=%d)", *received, status);
 +    if (!force) { +		*received = status; +		/* +		log_verbose3("Leaving !force (received=%d)(status=%d)", *received, status);  		*/          return H_OK;      } @@ -440,11 +440,11 @@ hsocket_read (hsocket_t sock, byte_t *buffer, int total, int force, int *receive      totalRead += status;      if (totalRead == total) { -		*received = totalRead;
 -		/*
 -		log_verbose4("Leaving totalRead == total (received=%d)(status=%d)(totalRead=%d)", *received, status, totalRead);
 -		*/
 -        return H_OK;
 +		*received = totalRead; +		/* +		log_verbose4("Leaving totalRead == total (received=%d)(status=%d)(totalRead=%d)", *received, status, totalRead); +		*/ +        return H_OK;      }    }    while (1); @@ -459,19 +459,19 @@ hsocket_block(hsocket_t sock, int block)  #endif    if (sock <= 0) -	return herror_new("hsocket_block", HSOCKET_ERROR_NOT_INITIALIZED, 
 -	 "Called hsocket_listen() before initializing!");
 +	return herror_new("hsocket_block", HSOCKET_ERROR_NOT_INITIALIZED,  +	 "Called hsocket_listen() before initializing!");  #ifdef WIN32  /*#define HSOCKET_BLOCKMODE 0  #define HSOCKET_NONBLOCKMODE 1 -*/
 +*/    iMode = (block==0)?1:0; /* Non block mode */    if (ioctlsocket (sock, FIONBIO, (u_long FAR *) & iMode) == INVALID_SOCKET)    {      log_error1 ("ioctlsocket error"); -		return herror_new("hsocket_block", HSOCKET_ERROR_IOCTL, "Socket error: %d", errno);
 +		return herror_new("hsocket_block", HSOCKET_ERROR_IOCTL, "Socket error: %d", errno);    }  #else /* fcntl(sock, F_SETFL, O_NONBLOCK); */  /* TODO (#1#): check for *nix the non blocking sockets */ | 
