Windows compatibility fixes
authorVictor Kirhenshtein <victor@netxms.org>
Thu, 3 Feb 2005 07:38:21 +0000 (07:38 +0000)
committerVictor Kirhenshtein <victor@netxms.org>
Thu, 3 Feb 2005 07:38:21 +0000 (07:38 +0000)
include/nms_util.h
src/libnetxms/main.cpp
src/libnetxms/tools.cpp

index 162332f..cf80533 100644 (file)
@@ -170,7 +170,8 @@ typedef struct _dir_struc
 extern "C"
 {
 #endif
-       int SendEx(int, const void *, size_t, int);
+       int LIBNETXMS_EXPORTABLE SendEx(int, const void *, size_t, int);
+
 #if defined(_WIN32) || !(HAVE_DECL___BSWAP_64)
    QWORD LIBNETXMS_EXPORTABLE __bswap_64(QWORD qwVal);
 #endif
index 333f841..3bc85d0 100644 (file)
@@ -135,22 +135,3 @@ int _fini(void)
 }
 
 #endif
-
-int LIBNETXMS_EXPORTABLE SendEx(int nSocket, const void *pBuff,
-               size_t nSize, int nFlags)
-{
-       int nLeft = nSize;
-       int nRet;
-
-       do
-       {
-               nRet = send(nSocket, ((char *)pBuff) + (nSize - nLeft), nLeft, nFlags);
-               if (nRet <= 0)
-               {
-                       break;
-               }
-               nLeft -= nRet;
-       } while (nLeft > 0);
-
-       return nLeft == 0 ? nSize : nRet;
-}
index b64e4bd..9c125d4 100644 (file)
@@ -640,3 +640,28 @@ int LIBNETXMS_EXPORTABLE NxDCIDataTypeFromText(TCHAR *pszText)
          return i;
    return -1;     // Invalid data type
 }
+
+
+//
+// Extended send() - send all data even if single call to send()
+// cannot handle them all
+//
+
+int LIBNETXMS_EXPORTABLE SendEx(int nSocket, const void *pBuff,
+                                         size_t nSize, int nFlags)
+{
+       int nLeft = nSize;
+       int nRet;
+
+       do
+       {
+               nRet = send(nSocket, ((char *)pBuff) + (nSize - nLeft), nLeft, nFlags);
+               if (nRet <= 0)
+               {
+                       break;
+               }
+               nLeft -= nRet;
+       } while (nLeft > 0);
+
+       return nLeft == 0 ? nSize : nRet;
+}