Loading include/nmxp_base.h +9 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ * Istituto Nazionale di Geofisica e Vulcanologia - Italy * quintiliani@ingv.it * * $Id: nmxp_base.h,v 1.29 2008-03-30 06:07:47 mtheo Exp $ * $Id: nmxp_base.h,v 1.30 2008-03-31 11:32:36 mtheo Exp $ * */ Loading Loading @@ -75,6 +75,14 @@ int nmxp_send_ctrl(int isock, void *buffer, int length); int nmxp_setsockopt_RCVTIMEO(int isock, int timeoutsec); /*! \brief Wrapper to strerror, strerror_r or WSAGetLastErrorMessage * * \return String message of errno_value. It is static, not need to be freed. * */ char *nmxp_strerror(int errno_value); /*! \brief Receives length bytes in a buffer from a socket. * * \param isock A descriptor referencing the socket. Loading lib/nmxp_base.c +38 −20 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ * Istituto Nazionale di Geofisica e Vulcanologia - Italy * quintiliani@ingv.it * * $Id: nmxp_base.c,v 1.70 2008-03-31 07:44:39 mtheo Exp $ * $Id: nmxp_base.c,v 1.71 2008-03-31 11:32:36 mtheo Exp $ * */ Loading Loading @@ -211,18 +211,16 @@ int nmxp_setsockopt_RCVTIMEO(int isock, int timeoutsec) { return ret; } int nmxp_recv_ctrl(int isock, void *buffer, int length, int timeoutsec, int *recv_errno ) { int recvCount; int cc; char *buffer_char = buffer; #define MAXLEN_RECV_ERRNO_STR 200 char *nmxp_strerror(int errno_value) { static char ret_recv_errno_str[MAXLEN_RECV_ERRNO_STR]; #ifdef HAVE_WINDOWS_H char *recv_errno_str; #else #ifdef HAVE_STRERROR_R #define MAXLEN_RECV_ERRNO_STR 200 char recv_errno_str[MAXLEN_RECV_ERRNO_STR]; #else char *recv_errno_str; Loading @@ -230,6 +228,35 @@ int nmxp_recv_ctrl(int isock, void *buffer, int length, int timeoutsec, int *rec #endif ret_recv_errno_str[0] = 0; #ifdef HAVE_WINDOWS_H recv_errno_str = WSAGetLastErrorMessage(errno_value); #else #ifdef HAVE_STRERROR_R strerror_r(errno_value, recv_errno_str, MAXLEN_RECV_ERRNO_STR); #else recv_errno_str = strerror(errno_value); #endif #endif if(recv_errno_str) { strncpy(ret_recv_errno_str, recv_errno_str, MAXLEN_RECV_ERRNO_STR); } return ret_recv_errno_str; } int nmxp_recv_ctrl(int isock, void *buffer, int length, int timeoutsec, int *recv_errno ) { int recvCount; int cc; char *buffer_char = buffer; char *recv_errno_str = NULL; nmxp_setsockopt_RCVTIMEO(isock, timeoutsec); cc = 1; Loading Loading @@ -274,17 +301,8 @@ int nmxp_recv_ctrl(int isock, void *buffer, int length, int timeoutsec, int *rec nmxp_setsockopt_RCVTIMEO(isock, 0); if (recvCount != length || *recv_errno != 0 || cc <= 0) { #ifdef HAVE_WINDOWS_H recv_errno_str = WSAGetLastErrorMessage(*recv_errno); #else #ifdef HAVE_STRERROR_R strerror_r(*recv_errno, recv_errno_str, MAXLEN_RECV_ERRNO_STR); #else recv_errno_str = strerror(*recv_errno); #endif #endif recv_errno_str = nmxp_strerror(*recv_errno); #ifdef HAVE_WINDOWS_H if(*recv_errno != WSAEWOULDBLOCK && *recv_errno != WSAETIMEDOUT) Loading Loading
include/nmxp_base.h +9 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ * Istituto Nazionale di Geofisica e Vulcanologia - Italy * quintiliani@ingv.it * * $Id: nmxp_base.h,v 1.29 2008-03-30 06:07:47 mtheo Exp $ * $Id: nmxp_base.h,v 1.30 2008-03-31 11:32:36 mtheo Exp $ * */ Loading Loading @@ -75,6 +75,14 @@ int nmxp_send_ctrl(int isock, void *buffer, int length); int nmxp_setsockopt_RCVTIMEO(int isock, int timeoutsec); /*! \brief Wrapper to strerror, strerror_r or WSAGetLastErrorMessage * * \return String message of errno_value. It is static, not need to be freed. * */ char *nmxp_strerror(int errno_value); /*! \brief Receives length bytes in a buffer from a socket. * * \param isock A descriptor referencing the socket. Loading
lib/nmxp_base.c +38 −20 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ * Istituto Nazionale di Geofisica e Vulcanologia - Italy * quintiliani@ingv.it * * $Id: nmxp_base.c,v 1.70 2008-03-31 07:44:39 mtheo Exp $ * $Id: nmxp_base.c,v 1.71 2008-03-31 11:32:36 mtheo Exp $ * */ Loading Loading @@ -211,18 +211,16 @@ int nmxp_setsockopt_RCVTIMEO(int isock, int timeoutsec) { return ret; } int nmxp_recv_ctrl(int isock, void *buffer, int length, int timeoutsec, int *recv_errno ) { int recvCount; int cc; char *buffer_char = buffer; #define MAXLEN_RECV_ERRNO_STR 200 char *nmxp_strerror(int errno_value) { static char ret_recv_errno_str[MAXLEN_RECV_ERRNO_STR]; #ifdef HAVE_WINDOWS_H char *recv_errno_str; #else #ifdef HAVE_STRERROR_R #define MAXLEN_RECV_ERRNO_STR 200 char recv_errno_str[MAXLEN_RECV_ERRNO_STR]; #else char *recv_errno_str; Loading @@ -230,6 +228,35 @@ int nmxp_recv_ctrl(int isock, void *buffer, int length, int timeoutsec, int *rec #endif ret_recv_errno_str[0] = 0; #ifdef HAVE_WINDOWS_H recv_errno_str = WSAGetLastErrorMessage(errno_value); #else #ifdef HAVE_STRERROR_R strerror_r(errno_value, recv_errno_str, MAXLEN_RECV_ERRNO_STR); #else recv_errno_str = strerror(errno_value); #endif #endif if(recv_errno_str) { strncpy(ret_recv_errno_str, recv_errno_str, MAXLEN_RECV_ERRNO_STR); } return ret_recv_errno_str; } int nmxp_recv_ctrl(int isock, void *buffer, int length, int timeoutsec, int *recv_errno ) { int recvCount; int cc; char *buffer_char = buffer; char *recv_errno_str = NULL; nmxp_setsockopt_RCVTIMEO(isock, timeoutsec); cc = 1; Loading Loading @@ -274,17 +301,8 @@ int nmxp_recv_ctrl(int isock, void *buffer, int length, int timeoutsec, int *rec nmxp_setsockopt_RCVTIMEO(isock, 0); if (recvCount != length || *recv_errno != 0 || cc <= 0) { #ifdef HAVE_WINDOWS_H recv_errno_str = WSAGetLastErrorMessage(*recv_errno); #else #ifdef HAVE_STRERROR_R strerror_r(*recv_errno, recv_errno_str, MAXLEN_RECV_ERRNO_STR); #else recv_errno_str = strerror(*recv_errno); #endif #endif recv_errno_str = nmxp_strerror(*recv_errno); #ifdef HAVE_WINDOWS_H if(*recv_errno != WSAEWOULDBLOCK && *recv_errno != WSAETIMEDOUT) Loading