min/max calls replaced with std::min/std::max
authorVictor Kirhenshtein <victor@netxms.org>
Tue, 3 Oct 2017 09:23:55 +0000 (12:23 +0300)
committerVictor Kirhenshtein <victor@netxms.org>
Tue, 3 Oct 2017 09:23:55 +0000 (12:23 +0300)
50 files changed:
include/nms_common.h
include/nms_util.h
include/nxcpapi.h
include/nxsnmp.h
src/agent/core/comm.cpp
src/agent/subagents/ecs/ecs.cpp
src/agent/subagents/linux/cpu.cpp
src/agent/subagents/linux/net.cpp
src/agent/subagents/linux/proc.cpp
src/agent/subagents/linux/system.cpp
src/agent/subagents/ups/bcmxcp.cpp
src/agent/subagents/ups/metasys.cpp
src/appagent/appagent.cpp
src/appagent/client.cpp
src/client/nxpush/nxpush.cpp
src/db/dbdrv/mariadb/mariadb.cpp
src/db/dbdrv/oracle/oracle.cpp
src/db/dbdrv/pgsql/pgsql.cpp
src/db/dbdrv/sqlite/sqlite.cpp
src/db/libnxdb/dbcp.cpp
src/libnetxms/message.cpp
src/libnetxms/msgwq.cpp
src/libnetxms/net.cpp
src/libnetxms/nxcp.cpp
src/libnetxms/rbuffer.cpp
src/libnetxms/serial.cpp
src/libnetxms/spoll.cpp
src/libnetxms/string.cpp
src/libnetxms/table.cpp
src/libnetxms/tools.cpp
src/libnxjava/tools.cpp
src/libnxlp/file.cpp
src/server/core/dcitem.cpp
src/server/core/dctarget.cpp
src/server/core/id.cpp
src/server/core/lldp.cpp
src/server/core/loghandle.cpp
src/server/core/netobj.cpp
src/server/core/node.cpp
src/server/core/sensor.cpp
src/server/core/syslogd.cpp
src/server/include/nxsrvapi.h
src/server/tools/nxaction/nxaction.cpp
src/server/tools/nxdbmgr/upgrade.cpp
src/server/tools/nxminfo/nxminfo.cpp
src/snmp/libnxsnmp/engine.cpp
src/snmp/libnxsnmp/oid.cpp
src/snmp/libnxsnmp/pdu.cpp
src/snmp/libnxsnmp/variable.cpp
src/snmp/libnxsnmp/zfile.cpp

index f6b55bd..c6b84d9 100644 (file)
@@ -1119,20 +1119,12 @@ inline void nx_free(void *p)
 #endif
 
 /**
- * Define min() and max() if needed
+ * Define MIN() and MAX()
  */
-#ifndef min
-#define min(a, b) ((a) < (b) ? (a) : (b))
-#endif
-#ifndef max
-#define max(a, b) ((a) > (b) ? (a) : (b))
-#endif
-#ifndef MIN
+#undef MIN
 #define MIN(a, b) ((a) < (b) ? (a) : (b))
-#endif
-#ifndef MAX
+#undef MAX
 #define MAX(a, b) ((a) > (b) ? (a) : (b))
-#endif
 
 /**
  * Define _tcsicmp() for non-windows
index 666dfa8..3824c14 100644 (file)
@@ -615,10 +615,10 @@ public:
 
        wchar_t charAt(size_t pos) const { return (pos < m_length) ? m_buffer[pos] : 0; }
 
-   String substring(size_t start, int len) const;
-       TCHAR *substring(size_t start, int len, TCHAR *buffer) const;
-       String left(size_t len) const { return substring(0, (int)len); }
-   String right(size_t len) const { return substring((m_length > len) ? m_length - len : 0, (int)len); }
+   String substring(size_t start, ssize_t len) const;
+       TCHAR *substring(size_t start, ssize_t len, TCHAR *buffer) const;
+       String left(size_t len) const { return substring(0, static_cast<size_t>(len)); }
+   String right(size_t len) const { return substring((m_length > len) ? m_length - len : 0, static_cast<size_t>(len)); }
 
    StringList *split(const TCHAR *separator) const;
 
@@ -627,7 +627,7 @@ public:
    void escapeCharacter(int ch, int esc);
    void replace(const TCHAR *pszSrc, const TCHAR *pszDst);
        void trim();
-       void shrink(int chars = 1);
+       void shrink(size_t chars = 1);
 };
 
 /**
index 061b3f3..4673193 100644 (file)
@@ -140,7 +140,7 @@ public:
    TCHAR *getFieldAsString(UINT32 fieldId, TCHAR *buffer = NULL, size_t bufferSize = 0) const;
        char *getFieldAsMBString(UINT32 fieldId, char *buffer = NULL, size_t bufferSize = 0) const;
        char *getFieldAsUtf8String(UINT32 fieldId, char *buffer = NULL, size_t bufferSize = 0) const;
-   UINT32 getFieldAsBinary(UINT32 fieldId, BYTE *buffer, size_t bufferSize) const;
+   size_t getFieldAsBinary(UINT32 fieldId, BYTE *buffer, size_t bufferSize) const;
    InetAddress getFieldAsInetAddress(UINT32 fieldId) const;
    MacAddress getFieldAsMacAddress(UINT32 fieldId) const;
    uuid getFieldAsGUID(UINT32 fieldId) const;
index 572373f..67654ad 100644 (file)
 // Various constants
 //
 
-#define MAX_OID_LEN                 128
-#define MAX_MIB_OBJECT_NAME         64
+#define MAX_OID_LEN                 ((size_t)128)
+#define MAX_MIB_OBJECT_NAME         ((size_t)64)
 #define SNMP_DEFAULT_PORT           161
-#define SNMP_MAX_CONTEXT_NAME       256
-#define SNMP_MAX_ENGINEID_LEN       256
-#define SNMP_DEFAULT_MSG_MAX_SIZE   65536
+#define SNMP_MAX_CONTEXT_NAME       ((size_t)256)
+#define SNMP_MAX_ENGINEID_LEN       ((size_t)256)
+#define SNMP_DEFAULT_MSG_MAX_SIZE   ((size_t)65536)
 
 
 //
index 9bad887..e7a024d 100644 (file)
@@ -60,7 +60,7 @@ void InitSessionList()
    }
    else
    {
-      g_dwMaxSessions = min(max(g_dwMaxSessions, 2), 4096);
+      g_dwMaxSessions = MIN(MAX(g_dwMaxSessions, 2), 4096);
    }
    nxlog_debug(2, _T("Maximum number of sessions set to %d"), g_dwMaxSessions);
        g_pSessionList = (CommSession **)malloc(sizeof(CommSession *) * g_dwMaxSessions);
index 0f72835..ce449e3 100644 (file)
@@ -128,7 +128,7 @@ static unsigned char *GetHttpUrl(char *url, int *size)
                        }
                        else if (v1 != NULL && v2 != NULL)
                        {
-                               p = min(v1 + 4, v2 + 2);
+                               p = std::min(v1 + 4, v2 + 2);
                        }
 
                        if (p != NULL)
index dc213bb..e95153f 100644 (file)
@@ -114,7 +114,7 @@ static void CpuUsageCollector()
                if (ret < 4)
                        continue;
 
-               maxCpu = max(cpu, maxCpu);
+               maxCpu = std::max(cpu, maxCpu);
 
                UINT64 userDelta, niceDelta, systemDelta, idleDelta;
                UINT64 iowaitDelta, irqDelta, softirqDelta, stealDelta;
index 3ab0704..2b8e45e 100644 (file)
@@ -320,7 +320,7 @@ static LinuxInterfaceInfo *ParseInterfaceMessage(nlmsghdr *messageHeader)
          case IFLA_ADDRESS:
             if (RTA_PAYLOAD(attribute) > 0)
             {
-               memcpy(ifInfo->macAddr, (BYTE *)RTA_DATA(attribute), min(RTA_PAYLOAD(attribute), sizeof(ifInfo->macAddr)));
+               memcpy(ifInfo->macAddr, (BYTE *)RTA_DATA(attribute), std::min(RTA_PAYLOAD(attribute), sizeof(ifInfo->macAddr)));
             }
             break;
          case IFLA_MTU:
index ea384d4..767f33a 100644 (file)
@@ -472,10 +472,10 @@ LONG H_ProcessDetails(const TCHAR *param, const TCHAR *arg, TCHAR *value, Abstra
                                finalVal += currVal;
                                break;
                        case INFOTYPE_MIN:
-                               finalVal = min(currVal, finalVal);
+                               finalVal = std::min(currVal, finalVal);
                                break;
                        case INFOTYPE_MAX:
-                               finalVal = max(currVal, finalVal);
+                               finalVal = std::max(currVal, finalVal);
                                break;
                }
        }
index d36df40..79af0c5 100644 (file)
@@ -280,8 +280,8 @@ static bool CollectMemoryUsageInfo()
       long lowWatermark = GetMemoryZonesLowWatermark();
       s_memAvailable = s_memFree - lowWatermark;
       long pageCache = s_memFileActive + s_memFileInactive;
-      s_memAvailable += pageCache - min(pageCache / 2, lowWatermark);
-      s_memAvailable += s_memSlabReclaimable - min(s_memSlabReclaimable / 2, lowWatermark);
+      s_memAvailable += pageCache - std::min(pageCache / 2, lowWatermark);
+      s_memAvailable += s_memSlabReclaimable - std::min(s_memSlabReclaimable / 2, lowWatermark);
       if (s_memAvailable < 0)
          s_memAvailable = 0;
    }
index 7495029..1bb6880 100644 (file)
@@ -347,7 +347,7 @@ BOOL BCMXCPInterface::open()
             // Skip to model name
             nPos = m_data[0] * 2 + 1;
             nPos += (m_data[nPos] == 0) ? 5 : 3;
-            nLen = min(m_data[nPos], 255);
+            nLen = std::min((int)m_data[nPos], 255);
             if ((nPos < nBytes) && (nPos + nLen <= nBytes))
             {
                memcpy(szBuffer, &m_data[nPos + 1], nLen);
index 771af8d..6511085 100644 (file)
@@ -242,7 +242,7 @@ BOOL MetaSysInterface::open()
             parseModelId();
 
             memset(m_paramList[UPS_PARAM_SERIAL].szValue, 0, 13);
-            memcpy(m_paramList[UPS_PARAM_SERIAL].szValue, m_data + 7, min(12, nBytes - 7));
+            memcpy(m_paramList[UPS_PARAM_SERIAL].szValue, m_data + 7, std::min(12, nBytes - 7));
             StrStripA(m_paramList[UPS_PARAM_SERIAL].szValue);
 
             sprintf(m_paramList[UPS_PARAM_FIRMWARE].szValue, "%d.%02d", m_data[5], m_data[6]);
index cd2e52d..de12fe8 100644 (file)
@@ -57,10 +57,10 @@ static APPAGENT_MSG *GetMetric(WCHAR *name, int length)
        TCHAR metricName[256];
 
 #ifdef UNICODE
-       nx_strncpy(metricName, name, min(length, 256));
+       wcslcpy(metricName, name, std::min(length, 256));
 #else
        WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK | WC_DEFAULTCHAR, name, length, metricName, 256, NULL, NULL);
-       metricName[min(length, 255)] = 0;
+       metricName[std::min(length, 255)] = 0;
 #endif
 
        for(int i = 0; i < s_config.numMetrics; i++)
index 7aca463..4a5403e 100644 (file)
@@ -106,10 +106,10 @@ int APPAGENT_EXPORTABLE AppAgentGetMetric(HPIPE hPipe, const TCHAR *name, TCHAR
                                {
                                        int valueLen = (response->length - APPAGENT_MSG_HEADER_LEN) / sizeof(TCHAR);
 #ifdef UNICODE
-                                       nx_strncpy(value, (WCHAR *)response->payload, min(valueLen, bufferSize));
+                                       wcslcpy(value, (WCHAR *)response->payload, std::min(valueLen, bufferSize));
 #else
                                        WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK | WC_DEFAULTCHAR, (WCHAR *)response->payload, valueLen, value, bufferSize, NULL, NULL);
-                                       value[min(valueLen, bufferSize - 1)] = 0;
+                                       value[std::min(valueLen, bufferSize - 1)] = 0;
 #endif
                                }
                        }
index 23ac5bc..17dc109 100644 (file)
@@ -279,7 +279,7 @@ static BOOL Send()
 
        for (i = 0; i < batches; i++)
        {
-               size = min(s_optBatchSize, s_data.size() - (s_optBatchSize * i));
+               size = std::min(s_optBatchSize, s_data.size() - (s_optBatchSize * i));
 
                if (s_optVerbose > 1)
                {
index 9c418e7..b4d6691 100644 (file)
@@ -1085,7 +1085,7 @@ static void *GetFieldUnbufferedInternal(MARIADB_UNBUFFERED_RESULT *hResult, int
    }
    else
    {
-      int iLen = min((int)hResult->lengthFields[iColumn], iBufSize - 1);
+      int iLen = std::min((int)hResult->lengthFields[iColumn], iBufSize - 1);
       if (iLen > 0)
       {
          if (utf8)
index 1b74951..34d2d7f 100644 (file)
@@ -1531,7 +1531,7 @@ extern "C" WCHAR EXPORT *DrvGetFieldUnbuffered(ORACLE_UNBUFFERED_RESULT *result,
       ub4 length = 0;
       OCILobGetLength(result->connection->handleService, result->connection->handleError, result->pBuffers[nColumn].lobLocator, &length);
 
-               nLen = min(nBufSize - 1, (int)length);
+               nLen = std::min(nBufSize - 1, (int)length);
       ub4 amount = nLen;
 #if UNICODE_UCS4
       UCS2CHAR *ucs2buffer = (UCS2CHAR *)malloc(nLen * sizeof(UCS2CHAR));
@@ -1547,7 +1547,7 @@ extern "C" WCHAR EXPORT *DrvGetFieldUnbuffered(ORACLE_UNBUFFERED_RESULT *result,
    }
        else
        {
-               nLen = min(nBufSize - 1, ((int)(result->pBuffers[nColumn].nLength / sizeof(UCS2CHAR))));
+               nLen = std::min(nBufSize - 1, ((int)(result->pBuffers[nColumn].nLength / sizeof(UCS2CHAR))));
 #if UNICODE_UCS4
                ucs2_to_ucs4(result->pBuffers[nColumn].pData, nLen, pBuffer, nLen + 1);
 #else
index f709c78..637fb2f 100644 (file)
@@ -400,7 +400,7 @@ extern "C" void EXPORT DrvBind(PG_STATEMENT *hStmt, int pos, int sqlType, int cT
 
        if (hStmt->allocated < pos)
        {
-               int newAllocated = max(hStmt->allocated + 16, pos);
+               int newAllocated = std::max(hStmt->allocated + 16, pos);
                hStmt->buffers = (char **)realloc(hStmt->buffers, sizeof(char *) * newAllocated);
                for(int i = hStmt->allocated; i < newAllocated; i++)
                        hStmt->buffers[i] = NULL;
index e88b7a1..d130a41 100644 (file)
@@ -359,7 +359,7 @@ static int SelectCallback(void *pArg, int nCols, char **ppszData, char **ppszNam
    }
    else
    {
-      nMaxCol = min(((SQLITE_RESULT *)pArg)->nCols, nCols);
+      nMaxCol = std::min(((SQLITE_RESULT *)pArg)->nCols, nCols);
    }
 
        // Store column names
index 6fff23e..075db5a 100644 (file)
@@ -156,7 +156,7 @@ static void ResetExpiredConnections()
       }
        }
        
-   int count = min(availCount / 2 + 1, reconnList.size()); // reset no more than 50% of available connections
+   int count = std::min(availCount / 2 + 1, reconnList.size()); // reset no more than 50% of available connections
    if (count < reconnList.size())
    {
       reconnList.sort(ResetListSortCallback);
index 1ed879b..90bef73 100644 (file)
@@ -761,15 +761,15 @@ char *NXCPMessage::getFieldAsUtf8String(UINT32 fieldId, char *buffer, size_t buf
  * and actual size of data will be returned
  * If pBuffer is NULL, just actual data length is returned
  */
-UINT32 NXCPMessage::getFieldAsBinary(UINT32 fieldId, BYTE *pBuffer, size_t bufferSize) const
+size_t NXCPMessage::getFieldAsBinary(UINT32 fieldId, BYTE *pBuffer, size_t bufferSize) const
 {
-   UINT32 size;
+   size_t size;
    void *value = get(fieldId, NXCP_DT_BINARY);
    if (value != NULL)
    {
       size = *((UINT32 *)value);
       if (pBuffer != NULL)
-         memcpy(pBuffer, (BYTE *)value + 4, min(bufferSize, size));
+         memcpy(pBuffer, (BYTE *)value + 4, std::min(bufferSize, size));
    }
    else
    {
@@ -1125,7 +1125,7 @@ String NXCPMessage::dump(const NXCP_MESSAGE *msg, int version)
    // Dump raw message
    for(i = 0; i < (int)size; i += 16)
    {
-      BinToStr(((BYTE *)msg) + i, min(16, size - i), buffer); 
+      BinToStr(((BYTE *)msg) + i, MIN(16, size - i), buffer);
       out.appendFormattedString(_T("  ** %s\n"), buffer);
    }
 
index ee6533a..6a4a2e8 100644 (file)
@@ -312,7 +312,7 @@ void *MsgWaitQueue::waitForMessageInternal(UINT16 isBinary, UINT16 wCode, UINT32
 #endif   /* _WIN32 */
 
       UINT32 sleepTime = (UINT32)(GetCurrentTimeMs() - startTime);
-      dwTimeOut -= min(sleepTime, dwTimeOut);
+      dwTimeOut -= std::min(sleepTime, dwTimeOut);
    } while(dwTimeOut > 0);
 
 #ifdef _WIN32
index 1452855..706f06c 100644 (file)
@@ -172,7 +172,7 @@ bool SocketConnection::waitForText(const char *text, int timeout)
                return true;
        }
 
-       m_dataPos = min(bufLen, textLen - 1);
+       m_dataPos = std::min(bufLen, textLen - 1);
        memmove(m_data, &m_data[bufLen - m_dataPos], m_dataPos + 1);
 
        while(1)
@@ -200,7 +200,7 @@ bool SocketConnection::waitForText(const char *text, int timeout)
                        return true;
                }
 
-               m_dataPos = min(bufLen, textLen - 1);
+               m_dataPos = std::min(bufLen, textLen - 1);
                memmove(m_data, &m_data[bufLen - m_dataPos], m_dataPos);
        }
 }
index c4564fc..11b093b 100644 (file)
@@ -515,7 +515,7 @@ int LIBNETXMS_EXPORTABLE RecvNXCPMessageEx(AbstractCommChannel *channel, NXCP_ME
                                        *decryptionBuffer = (BYTE *)realloc(*decryptionBuffer, *bufferSize);
                        }
       }
-      dwBytesRead = min(dwMsgSize, nxcpBuffer->bufferSize);
+      dwBytesRead = std::min(dwMsgSize, nxcpBuffer->bufferSize);
       if (!bSkipMsg)
          memcpy(*msgBuffer, &nxcpBuffer->buffer[nxcpBuffer->bufferPos], dwBytesRead);
       nxcpBuffer->bufferSize -= dwBytesRead;
@@ -564,7 +564,7 @@ int LIBNETXMS_EXPORTABLE RecvNXCPMessageEx(AbstractCommChannel *channel, NXCP_ME
                                }
          }
       }
-      dwBytesToCopy = min((UINT32)iErr, dwMsgSize - dwBytesRead);
+      dwBytesToCopy = std::min((UINT32)iErr, dwMsgSize - dwBytesRead);
       if (!bSkipMsg)
          memcpy(((char *)(*msgBuffer)) + dwBytesRead, nxcpBuffer->buffer, dwBytesToCopy);
       dwBytesRead += dwBytesToCopy;
@@ -760,7 +760,7 @@ bool LIBNETXMS_EXPORTABLE SendFileOverNXCP(AbstractCommChannel *channel, UINT32
                        {
             if (compressor != NULL)
             {
-                                  iBytes = _read(hFile, compBuffer, min(FILE_BUFFER_SIZE, bytesToRead));
+                                  iBytes = _read(hFile, compBuffer, MIN(FILE_BUFFER_SIZE, bytesToRead));
                                   if (iBytes < 0)
                                           break;
                bytesToRead -= iBytes;
@@ -774,7 +774,7 @@ bool LIBNETXMS_EXPORTABLE SendFileOverNXCP(AbstractCommChannel *channel, UINT32
             }
             else
             {
-                                  iBytes = _read(hFile, pMsg->fields, min(FILE_BUFFER_SIZE, bytesToRead));
+                                  iBytes = _read(hFile, pMsg->fields, MIN(FILE_BUFFER_SIZE, bytesToRead));
                                   if (iBytes < 0)
                                           break;
                bytesToRead -= iBytes;
index 2fec724..a5c5c2a 100644 (file)
@@ -66,7 +66,7 @@ void RingBuffer::write(const BYTE *data, size_t dataSize)
    }
    else if (m_writePos > m_readPos)
    {
-      m_allocated += max(dataSize, m_allocationStep);
+      m_allocated += std::max(dataSize, m_allocationStep);
       m_data = (BYTE *)realloc(m_data, m_allocated);
       memcpy(&m_data[m_writePos], data, dataSize);
       m_writePos += dataSize;
@@ -100,7 +100,7 @@ void RingBuffer::write(const BYTE *data, size_t dataSize)
  */
 size_t RingBuffer::read(BYTE *buffer, size_t bufferSize)
 {
-   size_t readSize = min(bufferSize, m_size);
+   size_t readSize = std::min(bufferSize, m_size);
    if (readSize == 0)
       return 0;
 
index cfcf48b..5bf4384 100644 (file)
@@ -554,7 +554,7 @@ bool Serial::write(const char *data, int length)
       int pos = 0;
       while(pos < length)
       {
-         int bs = min(m_writeBlockSize, length - pos);
+         int bs = std::min(m_writeBlockSize, length - pos);
          if (!writeBlock(&data[pos], bs))
             return false;
          pos += bs;
index 1e9b552..918f674 100644 (file)
@@ -97,7 +97,7 @@ int SocketPoller::poll(UINT32 timeout)
          if ((rc != -1) || (errno != EINTR))
             break;
          UINT32 elapsed = (UINT32)(GetCurrentTimeMs() - startTime);
-         timeout -= min(timeout, elapsed);
+         timeout -= std::min(timeout, elapsed);
       } while(timeout > 0);
       return rc;
    }
@@ -128,7 +128,7 @@ int SocketPoller::poll(UINT32 timeout)
          if ((rc != -1) || (errno != EINTR))
             break;
          UINT32 elapsed = (UINT32)(GetCurrentTimeMs() - startTime);
-         timeout -= min(timeout, elapsed);
+         timeout -= std::min(timeout, elapsed);
       } while(timeout > 0);
       return rc;
 #endif
index 1587b00..0fc561d 100644 (file)
@@ -1,7 +1,7 @@
 /*
 ** NetXMS - Network Management System
 ** NetXMS Foundation Library
-** Copyright (C) 2003-2016 Victor Kirhenshtein
+** Copyright (C) 2003-2017 Victor Kirhenshtein
 **
 ** This program is free software; you can redistribute it and/or modify
 ** it under the terms of the GNU Lesser General Public License as published
@@ -106,7 +106,7 @@ String& String::operator +=(const TCHAR *str)
        size_t len = _tcslen(str);
       if (m_length + len >= m_allocated)
       {
-         m_allocated += max(m_allocationStep, len + 1);
+         m_allocated += std::max(m_allocationStep, len + 1);
        m_buffer = (TCHAR *)realloc(m_buffer, m_allocated * sizeof(TCHAR));
       }
        _tcscpy(&m_buffer[m_length], str);
@@ -124,7 +124,7 @@ String& String::operator +=(const String &str)
    {
       if (m_length + str.m_length >= m_allocated)
       {
-         m_allocated += max(m_allocationStep, str.m_length + 1);
+         m_allocated += std::max(m_allocationStep, str.m_length + 1);
        m_buffer = (TCHAR *)realloc(m_buffer, m_allocated * sizeof(TCHAR));
       }
       memcpy(&m_buffer[m_length], str.m_buffer, (str.m_length + 1) * sizeof(TCHAR));
@@ -241,7 +241,7 @@ void String::append(const TCHAR *str, size_t len)
 
    if (m_length + len >= m_allocated)
    {
-      m_allocated += max(m_allocationStep, len + 1);
+      m_allocated += std::max(m_allocationStep, len + 1);
        m_buffer = (TCHAR *)realloc(m_buffer, m_allocated * sizeof(TCHAR));
    }
    memcpy(&m_buffer[m_length], str, len * sizeof(TCHAR));
@@ -297,7 +297,7 @@ void String::appendMBString(const char *str, size_t len, int nCodePage)
 #ifdef UNICODE
    if (m_length + len >= m_allocated)
    {
-      m_allocated += max(m_allocationStep, len + 1);
+      m_allocated += std::max(m_allocationStep, len + 1);
        m_buffer = (TCHAR *)realloc(m_buffer, m_allocated * sizeof(TCHAR));
    }
        m_length += MultiByteToWideChar(nCodePage, (nCodePage == CP_UTF8) ? 0 : MB_PRECOMPOSED, str, (int)len, &m_buffer[m_length], (int)len);
@@ -317,7 +317,7 @@ void String::appendWideString(const WCHAR *str, size_t len)
 #else
    if (m_length + len >= m_allocated)
    {
-      m_allocated += max(m_allocationStep, len + 1);
+      m_allocated += std::max(m_allocationStep, len + 1);
        m_buffer = (TCHAR *)realloc(m_buffer, m_allocated * sizeof(TCHAR));
    }
        WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK | WC_DEFAULTCHAR, str, len, &m_buffer[m_length], len, NULL, NULL);
@@ -340,7 +340,7 @@ void String::escapeCharacter(int ch, int esc)
 
    if (m_length + nCount >= m_allocated)
    {
-      m_allocated += max(m_allocationStep, (size_t)nCount);
+      m_allocated += std::max(m_allocationStep, (size_t)nCount);
        m_buffer = (TCHAR *)realloc(m_buffer, m_allocated * sizeof(TCHAR));
    }
 
@@ -410,7 +410,7 @@ void String::replace(const TCHAR *pszSrc, const TCHAR *pszDst)
             size_t delta = lenDst - lenSrc;
             if (m_length + delta >= m_allocated)
             {
-               m_allocated += max(m_allocationStep, delta);
+               m_allocated += std::max(m_allocationStep, delta);
                m_buffer = (TCHAR *)realloc(m_buffer, m_allocated * sizeof(TCHAR));
             }
             memmove(&m_buffer[i + lenDst], &m_buffer[i + lenSrc], (m_length - i - lenSrc + 1) * sizeof(TCHAR));
@@ -425,19 +425,19 @@ void String::replace(const TCHAR *pszSrc, const TCHAR *pszDst)
 /**
  * Extract substring into buffer
  */
-String String::substring(size_t start, int len) const
+String String::substring(size_t start, ssize_t len) const
 {
    String s;
    if ((start < m_length) && (start >= 0))
    {
-      int count;
+      size_t count;
       if (len == -1)
       {
-         count = (int)(m_length - start);
+         count = m_length - start;
       }
       else
       {
-         count = min(len, (int)(m_length - start));
+         count = std::min(static_cast<size_t>(len), m_length - start);
       }
       s.append(&m_buffer[start], count);
    }
@@ -447,19 +447,19 @@ String String::substring(size_t start, int len) const
 /**
  * Extract substring into buffer
  */
-TCHAR *String::substring(size_t start, int len, TCHAR *buffer) const
+TCHAR *String::substring(size_t start, ssize_t len, TCHAR *buffer) const
 {
        TCHAR *s;
        if ((start < m_length) && (start >= 0))
        {
-          int count;
+          size_t count;
                if (len == -1)
                {
-                       count = (int)(m_length - start);
+                       count = m_length - start;
                }
                else
                {
-                       count = min(len, (int)(m_length - start));
+                       count = std::min(static_cast<size_t>(len), m_length - start);
                }
                s = (buffer != NULL) ? buffer : (TCHAR *)malloc((count + 1) * sizeof(TCHAR));
                memcpy(s, &m_buffer[start], count * sizeof(TCHAR));
@@ -500,11 +500,11 @@ void String::trim()
 /**
  * Shring string by removing trailing characters
  */
-void String::shrink(int chars)
+void String::shrink(size_t chars)
 {
        if (m_length > 0)
        {
-               m_length -= min(m_length, (size_t)chars);
+               m_length -= std::min(m_length, chars);
                if (m_buffer != NULL)
                        m_buffer[m_length] = 0;
        }
index b5ab639..1e14457 100644 (file)
@@ -526,7 +526,7 @@ int Table::fillMessage(NXCPMessage &msg, int offset, int rowLimit)
        }
        msg.setField(VID_TABLE_OFFSET, (UINT32)offset);
 
-       int stopRow = (rowLimit == -1) ? m_data->size() : min(m_data->size(), offset + rowLimit);
+       int stopRow = (rowLimit == -1) ? m_data->size() : std::min(m_data->size(), offset + rowLimit);
    id = VID_TABLE_DATA_BASE;
        for(int row = offset; row < stopRow; row++)
        {
@@ -810,7 +810,7 @@ void Table::setBaseRowAt(int row, int baseRow)
  */
 void Table::addAll(Table *src)
 {
-   int numColumns = min(m_columns->size(), src->m_columns->size());
+   int numColumns = std::min(m_columns->size(), src->m_columns->size());
    for(int i = 0; i < src->m_data->size(); i++)
    {
       TableRow *dstRow = new TableRow(m_columns->size());
@@ -832,7 +832,7 @@ void Table::copyRow(Table *src, int row)
    if (srcRow == NULL)
       return;
 
-   int numColumns = min(m_columns->size(), src->m_columns->size());
+   int numColumns = std::min(m_columns->size(), src->m_columns->size());
    TableRow *dstRow = new TableRow(m_columns->size());
 
    for(int j = 0; j < numColumns; j++)
index f39fe97..2b63250 100644 (file)
@@ -587,7 +587,7 @@ const TCHAR LIBNETXMS_EXPORTABLE *ExpandFileName(const TCHAR *name, TCHAR *buffe
                        int j = ++i;
                        while((temp[j] != _T('`')) && (temp[j] != 0))
                                j++;
-                       int len = min(j - i, 1023);
+                       int len = std::min(j - i, 1023);
                        memcpy(command, &temp[i], len * sizeof(TCHAR));
                        command[len] = 0;
 
@@ -606,7 +606,7 @@ const TCHAR LIBNETXMS_EXPORTABLE *ExpandFileName(const TCHAR *name, TCHAR *buffe
                                        if (lf != NULL)
                                                *lf = 0;
 
-                                       len = (int)min(strlen(result), bufSize - outpos - 1);
+                                       len = (int)std::min(strlen(result), bufSize - outpos - 1);
 #ifdef UNICODE
                                        MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, result, len, &buffer[outpos], len);
 #else
@@ -625,7 +625,7 @@ const TCHAR LIBNETXMS_EXPORTABLE *ExpandFileName(const TCHAR *name, TCHAR *buffe
                        while((temp[j] != _T('}')) && (temp[j] != 0))
                                j++;
 
-                       int len = min(j - i, 1023);
+                       int len = std::min(j - i, 1023);
 
          TCHAR varName[256];
          memcpy(varName, &temp[i], len * sizeof(TCHAR));
@@ -634,7 +634,7 @@ const TCHAR LIBNETXMS_EXPORTABLE *ExpandFileName(const TCHAR *name, TCHAR *buffe
          TCHAR *result = _tgetenv(varName);
          if (result != NULL)
          {
-            len = (int)min(_tcslen(result), bufSize - outpos - 1);
+            len = (int)std::min(_tcslen(result), bufSize - outpos - 1);
             memcpy(&buffer[outpos], result, len * sizeof(TCHAR));
          }
          else
@@ -1232,7 +1232,7 @@ int LIBNETXMS_EXPORTABLE ConnectEx(SOCKET s, struct sockaddr *addr, int len, UIN
                                if ((rc != -1) || (errno != EINTR))
                                        break;
                                UINT32 elapsed = (UINT32)(GetCurrentTimeMs() - startTime);
-                               timeout -= min(timeout, elapsed);
+                               timeout -= std::min(timeout, elapsed);
                        } while(timeout > 0);
 
                        if (rc > 0)
@@ -2012,7 +2012,7 @@ static BYTE *LoadFileContent(int fd, UINT32 *pdwFileSize)
          *pdwFileSize = (UINT32)fs.st_size;
          for(iBufPos = 0; iBufPos < fs.st_size; iBufPos += iBytesRead)
          {
-            iNumBytes = min(16384, (int)fs.st_size - iBufPos);
+            iNumBytes = std::min(16384, (int)fs.st_size - iBufPos);
             if ((iBytesRead = _read(fd, &pBuffer[iBufPos], iNumBytes)) < 0)
             {
                free(pBuffer);
index 9444c15..b5d808f 100644 (file)
@@ -85,15 +85,15 @@ TCHAR LIBNXJAVA_EXPORTABLE *CStringFromJavaString(JNIEnv *env, jstring jstr, TCH
    jsize len = env->GetStringLength(jstr);
 #ifdef UNICODE
 #if UNICODE_UCS4
-   ucs2_to_ucs4(chars, min(len, bufferLen - 1), buffer, bufferLen);
+   ucs2_to_ucs4(chars, std::min((size_t)len, bufferLen - 1), buffer, bufferLen);
 #else
-   memcpy(buffer, chars, min((size_t)len, bufferLen) * sizeof(WCHAR));
+   memcpy(buffer, chars, std::min((size_t)len, bufferLen) * sizeof(WCHAR));
 #endif
 #else
-   ucs2_to_mb(chars, min(len, bufferLen - 1), buffer, bufferLen);
+   ucs2_to_mb(chars, std::min((size_t)len, bufferLen - 1), buffer, bufferLen);
 #endif
    env->ReleaseStringChars(jstr, chars);
-   buffer[min((size_t)len, bufferLen - 1)] = 0;
+   buffer[std::min((size_t)len, bufferLen - 1)] = 0;
    return buffer;
 }
 
index 9c1eb76..a629658 100644 (file)
@@ -190,7 +190,7 @@ static off_t ParseNewRecords(LogParser *parser, int fh)
                                        if (remaining > 0)
                                        {
                   memmove(buffer, ptr, remaining);
-                  if (parser->isFilePreallocated() && !memcmp(buffer, "\x00\x00\x00\x00", min(remaining, 4)))
+                  if (parser->isFilePreallocated() && !memcmp(buffer, "\x00\x00\x00\x00", std::min(remaining, 4)))
                   {
                      // Found zeroes in preallocated file, next read should be after last known EOL
                      return resetPos;
@@ -574,7 +574,7 @@ bool LogParser::monitorFile(CONDITION stopCondition, bool readFromCurrPos)
                      off_t pos = lseek(fh, -bytes, SEEK_CUR);
                      if (pos > 0)
                      {
-                        int readSize = min(pos, 4);
+                        int readSize = std::min(pos, (off_t)4);
                         lseek(fh, -readSize, SEEK_CUR);
                         int bytes = _read(fh, buffer, readSize);
                         if ((bytes == readSize) && !memcmp(buffer, "\x00\x00\x00\x00", readSize))
index bd7c544..aee2f3e 100644 (file)
@@ -1258,7 +1258,7 @@ NXSL_Value *DCItem::getValueForNXSL(int nFunction, int nPolls)
          if (m_bCacheLoaded && (m_cacheSize > 0))
          {
             ItemValue result;
-            CalculateItemValueAverage(result, m_dataType, min(m_cacheSize, (UINT32)nPolls), m_ppValueCache);
+            CalculateItemValueAverage(result, m_dataType, std::min(m_cacheSize, (UINT32)nPolls), m_ppValueCache);
             pValue = new NXSL_Value(result.getString());
          }
          else
@@ -1270,7 +1270,7 @@ NXSL_Value *DCItem::getValueForNXSL(int nFunction, int nPolls)
          if (m_bCacheLoaded && (m_cacheSize > 0))
          {
             ItemValue result;
-            CalculateItemValueMD(result, m_dataType, min(m_cacheSize, (UINT32)nPolls), m_ppValueCache);
+            CalculateItemValueMD(result, m_dataType, std::min(m_cacheSize, (UINT32)nPolls), m_ppValueCache);
             pValue = new NXSL_Value(result.getString());
          }
          else
@@ -1419,7 +1419,7 @@ void DCItem::updateFromTemplate(DCObject *src)
    // Copy thresholds
    // ***************************
    // First, skip matching thresholds
-       int count = min(getThresholdCount(), item->getThresholdCount());
+       int count = std::min(getThresholdCount(), item->getThresholdCount());
        int i;
    for(i = 0; i < count; i++)
       if (!m_thresholds->get(i)->compare(item->m_thresholds->get(i)))
index 286dae4..102aa6a 100644 (file)
@@ -1084,7 +1084,7 @@ int DataCollectionTarget::getMostCriticalDCIStatus()
 
          ItemValue *value = ((DCItem *)curr)->getInternalLastValue();
          if (value != NULL && (INT32)*value >= STATUS_NORMAL && (INT32)*value <= STATUS_CRITICAL)
-            status = max(status, (INT32)*value);
+            status = std::max(status, (INT32)*value);
          delete value;
       }
        }
index 7d392cc..e1da740 100644 (file)
@@ -91,7 +91,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_NETWORK_OBJECT] = max(s_freeIdTable[IDG_NETWORK_OBJECT],
+         s_freeIdTable[IDG_NETWORK_OBJECT] = std::max(s_freeIdTable[IDG_NETWORK_OBJECT],
                                                    DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -99,7 +99,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_NETWORK_OBJECT] = max(s_freeIdTable[IDG_NETWORK_OBJECT],
+         s_freeIdTable[IDG_NETWORK_OBJECT] = std::max(s_freeIdTable[IDG_NETWORK_OBJECT],
                                                    DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -107,7 +107,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_NETWORK_OBJECT] = max(s_freeIdTable[IDG_NETWORK_OBJECT],
+         s_freeIdTable[IDG_NETWORK_OBJECT] = std::max(s_freeIdTable[IDG_NETWORK_OBJECT],
                                                    DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -115,7 +115,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_NETWORK_OBJECT] = max(s_freeIdTable[IDG_NETWORK_OBJECT],
+         s_freeIdTable[IDG_NETWORK_OBJECT] = std::max(s_freeIdTable[IDG_NETWORK_OBJECT],
                                                    DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -123,7 +123,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_NETWORK_OBJECT] = max(s_freeIdTable[IDG_NETWORK_OBJECT],
+         s_freeIdTable[IDG_NETWORK_OBJECT] = std::max(s_freeIdTable[IDG_NETWORK_OBJECT],
                                                    DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -131,7 +131,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_NETWORK_OBJECT] = max(s_freeIdTable[IDG_NETWORK_OBJECT],
+         s_freeIdTable[IDG_NETWORK_OBJECT] = std::max(s_freeIdTable[IDG_NETWORK_OBJECT],
                                                    DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -139,7 +139,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_NETWORK_OBJECT] = max(s_freeIdTable[IDG_NETWORK_OBJECT],
+         s_freeIdTable[IDG_NETWORK_OBJECT] = std::max(s_freeIdTable[IDG_NETWORK_OBJECT],
                                                    DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -147,7 +147,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_NETWORK_OBJECT] = max(s_freeIdTable[IDG_NETWORK_OBJECT],
+         s_freeIdTable[IDG_NETWORK_OBJECT] = std::max(s_freeIdTable[IDG_NETWORK_OBJECT],
                                                    DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -155,7 +155,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_NETWORK_OBJECT] = max(s_freeIdTable[IDG_NETWORK_OBJECT],
+         s_freeIdTable[IDG_NETWORK_OBJECT] = std::max(s_freeIdTable[IDG_NETWORK_OBJECT],
                                                    DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -163,7 +163,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_NETWORK_OBJECT] = max(s_freeIdTable[IDG_NETWORK_OBJECT],
+         s_freeIdTable[IDG_NETWORK_OBJECT] = std::max(s_freeIdTable[IDG_NETWORK_OBJECT],
                                                    DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -171,7 +171,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_NETWORK_OBJECT] = max(s_freeIdTable[IDG_NETWORK_OBJECT],
+         s_freeIdTable[IDG_NETWORK_OBJECT] = std::max(s_freeIdTable[IDG_NETWORK_OBJECT],
                                                    DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -179,7 +179,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_NETWORK_OBJECT] = max(s_freeIdTable[IDG_NETWORK_OBJECT],
+         s_freeIdTable[IDG_NETWORK_OBJECT] = std::max(s_freeIdTable[IDG_NETWORK_OBJECT],
                                                    DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -187,7 +187,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_NETWORK_OBJECT] = max(s_freeIdTable[IDG_NETWORK_OBJECT],
+         s_freeIdTable[IDG_NETWORK_OBJECT] = std::max(s_freeIdTable[IDG_NETWORK_OBJECT],
                                                    DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -195,7 +195,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_NETWORK_OBJECT] = max(s_freeIdTable[IDG_NETWORK_OBJECT],
+         s_freeIdTable[IDG_NETWORK_OBJECT] = std::max(s_freeIdTable[IDG_NETWORK_OBJECT],
                                                    DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -203,7 +203,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_NETWORK_OBJECT] = max(s_freeIdTable[IDG_NETWORK_OBJECT],
+         s_freeIdTable[IDG_NETWORK_OBJECT] = std::max(s_freeIdTable[IDG_NETWORK_OBJECT],
                                                    DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -211,7 +211,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_NETWORK_OBJECT] = max(s_freeIdTable[IDG_NETWORK_OBJECT],
+         s_freeIdTable[IDG_NETWORK_OBJECT] = std::max(s_freeIdTable[IDG_NETWORK_OBJECT],
                                                    DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -221,7 +221,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_EVENT] = max(s_freeIdTable[IDG_EVENT], DBGetFieldULong(hResult, 0, 0) + 1);
+         s_freeIdTable[IDG_EVENT] = std::max(s_freeIdTable[IDG_EVENT], DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
 
@@ -230,14 +230,14 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_ITEM] = max(s_freeIdTable[IDG_ITEM], DBGetFieldULong(hResult, 0, 0) + 1);
+         s_freeIdTable[IDG_ITEM] = std::max(s_freeIdTable[IDG_ITEM], DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
    hResult = DBSelect(hdb, _T("SELECT max(item_id) FROM dc_tables"));
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_ITEM] = max(s_freeIdTable[IDG_ITEM], DBGetFieldULong(hResult, 0, 0) + 1);
+         s_freeIdTable[IDG_ITEM] = std::max(s_freeIdTable[IDG_ITEM], DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
 
@@ -246,7 +246,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_JOB] = max(1, DBGetFieldULong(hResult, 0, 0) + 1);
+         s_freeIdTable[IDG_JOB] = std::max(s_freeIdTable[IDG_JOB], DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
 
@@ -255,7 +255,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_SNMP_TRAP] = max(s_freeIdTable[IDG_SNMP_TRAP], DBGetFieldULong(hResult, 0, 0) + 1);
+         s_freeIdTable[IDG_SNMP_TRAP] = std::max(s_freeIdTable[IDG_SNMP_TRAP], DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
 
@@ -264,7 +264,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_ACTION] = max(1, DBGetFieldULong(hResult, 0, 0) + 1);
+         s_freeIdTable[IDG_ACTION] = std::max(s_freeIdTable[IDG_ACTION], DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
 
@@ -273,7 +273,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_EVENT_GROUP] = max(0x80000000, DBGetFieldULong(hResult, 0, 0) + 1);
+         s_freeIdTable[IDG_EVENT_GROUP] = std::max(s_freeIdTable[IDG_EVENT_GROUP], DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
 
@@ -282,7 +282,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_THRESHOLD] = max(s_freeIdTable[IDG_THRESHOLD],
+         s_freeIdTable[IDG_THRESHOLD] = std::max(s_freeIdTable[IDG_THRESHOLD],
                                               DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -290,7 +290,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_THRESHOLD] = max(s_freeIdTable[IDG_THRESHOLD],
+         s_freeIdTable[IDG_THRESHOLD] = std::max(s_freeIdTable[IDG_THRESHOLD],
                                               DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -300,7 +300,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_USER] = max(s_freeIdTable[IDG_USER],
+         s_freeIdTable[IDG_USER] = std::max(s_freeIdTable[IDG_USER],
                                          DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -310,7 +310,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_USER_GROUP] = max(s_freeIdTable[IDG_USER_GROUP],
+         s_freeIdTable[IDG_USER_GROUP] = std::max(s_freeIdTable[IDG_USER_GROUP],
                                                DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -320,7 +320,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_ALARM] = max(s_freeIdTable[IDG_ALARM],
+         s_freeIdTable[IDG_ALARM] = std::max(s_freeIdTable[IDG_ALARM],
                                           DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -330,7 +330,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_ALARM_NOTE] = max(s_freeIdTable[IDG_ALARM_NOTE],
+         s_freeIdTable[IDG_ALARM_NOTE] = std::max(s_freeIdTable[IDG_ALARM_NOTE],
                                                DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -340,7 +340,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         m_freeEventId = max(m_freeEventId, DBGetFieldUInt64(hResult, 0, 0) + 1);
+         m_freeEventId = std::max(m_freeEventId, DBGetFieldUInt64(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
 
@@ -349,7 +349,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_PACKAGE] = max(s_freeIdTable[IDG_PACKAGE],
+         s_freeIdTable[IDG_PACKAGE] = std::max(s_freeIdTable[IDG_PACKAGE],
                                             DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -359,7 +359,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_OBJECT_TOOL] = max(s_freeIdTable[IDG_OBJECT_TOOL],
+         s_freeIdTable[IDG_OBJECT_TOOL] = std::max(s_freeIdTable[IDG_OBJECT_TOOL],
                                                 DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -369,7 +369,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_SCRIPT] = max(s_freeIdTable[IDG_SCRIPT],
+         s_freeIdTable[IDG_SCRIPT] = std::max(s_freeIdTable[IDG_SCRIPT],
                                            DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -379,7 +379,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_AGENT_CONFIG] = max(s_freeIdTable[IDG_AGENT_CONFIG],
+         s_freeIdTable[IDG_AGENT_CONFIG] = std::max(s_freeIdTable[IDG_AGENT_CONFIG],
                                                  DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -389,7 +389,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_GRAPH] = max(s_freeIdTable[IDG_GRAPH],
+         s_freeIdTable[IDG_GRAPH] = std::max(s_freeIdTable[IDG_GRAPH],
                                           DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -399,7 +399,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_CERTIFICATE] = max(s_freeIdTable[IDG_CERTIFICATE],
+         s_freeIdTable[IDG_CERTIFICATE] = std::max(s_freeIdTable[IDG_CERTIFICATE],
                                                 DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -409,7 +409,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_SLM_TICKET] = max(s_freeIdTable[IDG_SLM_TICKET],
+         s_freeIdTable[IDG_SLM_TICKET] = std::max(s_freeIdTable[IDG_SLM_TICKET],
                                                DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -419,7 +419,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_DCT_COLUMN] = max(s_freeIdTable[IDG_DCT_COLUMN],
+         s_freeIdTable[IDG_DCT_COLUMN] = std::max(s_freeIdTable[IDG_DCT_COLUMN],
                                                DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -429,7 +429,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_MAPPING_TABLE] = max(s_freeIdTable[IDG_MAPPING_TABLE],
+         s_freeIdTable[IDG_MAPPING_TABLE] = std::max(s_freeIdTable[IDG_MAPPING_TABLE],
                                                   DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -439,7 +439,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_DCI_SUMMARY_TABLE] = max(s_freeIdTable[IDG_DCI_SUMMARY_TABLE],
+         s_freeIdTable[IDG_DCI_SUMMARY_TABLE] = std::max(s_freeIdTable[IDG_DCI_SUMMARY_TABLE],
                                                       DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -449,7 +449,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_SCHEDULED_TASK] = max(s_freeIdTable[IDG_SCHEDULED_TASK],
+         s_freeIdTable[IDG_SCHEDULED_TASK] = std::max(s_freeIdTable[IDG_SCHEDULED_TASK],
                                                       DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
@@ -459,7 +459,7 @@ BOOL InitIdTable()
    if (hResult != NULL)
    {
       if (DBGetNumRows(hResult) > 0)
-         s_freeIdTable[IDG_ALARM_CATEGORY] = max(s_freeIdTable[IDG_ALARM_CATEGORY],
+         s_freeIdTable[IDG_ALARM_CATEGORY] = std::max(s_freeIdTable[IDG_ALARM_CATEGORY],
                                                       DBGetFieldULong(hResult, 0, 0) + 1);
       DBFreeResult(hResult);
    }
index a157cd1..1539b5e 100644 (file)
@@ -123,10 +123,10 @@ static Interface *FindRemoteInterface(Node *node, UINT32 idType, BYTE *id, size_
                case 5: // Interface name
 #ifdef UNICODE
                        MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, (char *)id, (int)idLen, ifName, 128);
-                       ifName[min(idLen, 127)] = 0;
+                       ifName[MIN(idLen, 127)] = 0;
 #else
                        {
-                               int len = min(idLen, 127);
+                               int len = MIN(idLen, 127);
                                memcpy(ifName, id, len);
                                ifName[len] = 0;
                        }
index b42e984..f5c585a 100644 (file)
@@ -345,7 +345,7 @@ Table *LogHandle::getData(INT64 startRow, INT64 numRows, bool refresh, const UIN
        }
 
        Table *table = createTable();
-       int maxRow = (int)min((int)(startRow + numRows), resultSize);
+       int maxRow = std::min((int)(startRow + numRows), resultSize);
        for(int i = (int)startRow; i < maxRow; i++)
        {
                table->addRow();
index 47c3ab1..8c95d9a 100644 (file)
@@ -950,7 +950,7 @@ void NetObj::calculateCompoundStatus(BOOL bForcedRecalc)
       }
       else
       {
-         m_status = max(m_status, mostCriticalAlarm);
+         m_status = std::max(m_status, mostCriticalAlarm);
       }
    }
 
@@ -963,7 +963,7 @@ void NetObj::calculateCompoundStatus(BOOL bForcedRecalc)
       }
       else
       {
-         m_status = max(m_status, mostCriticalDCI);
+         m_status = std::max(m_status, mostCriticalDCI);
       }
    }
 
@@ -979,7 +979,7 @@ void NetObj::calculateCompoundStatus(BOOL bForcedRecalc)
          }
          else
          {
-            m_status = max(m_status, moduleStatus);
+            m_status = std::max(m_status, moduleStatus);
          }
       }
    }
index e2e6847..6d843a5 100644 (file)
@@ -3365,7 +3365,7 @@ bool Node::updateInterfaceConfiguration(UINT32 rqid, int maskBits)
                   }
                   if ((ifInfo->ifTableSuffixLength != pInterface->getIfTableSuffixLen()) ||
                       memcmp(ifInfo->ifTableSuffix, pInterface->getIfTableSuffix(),
-                         min(ifInfo->ifTableSuffixLength, pInterface->getIfTableSuffixLen())))
+                         std::min(ifInfo->ifTableSuffixLength, pInterface->getIfTableSuffixLen())))
                   {
                      pInterface->setIfTableSuffix(ifInfo->ifTableSuffixLength, ifInfo->ifTableSuffix);
                   }
index 46c07a6..bf69a00 100644 (file)
@@ -1,6 +1,6 @@
 /*
 ** NetXMS - Network Management System
-** Copyright (C) 2003-2016 Victor Kirhenshtein
+** Copyright (C) 2003-2017 Raden Solutions
 **
 ** This program is free software; you can redistribute it and/or modify
 ** it under the terms of the GNU General Public License as published by
@@ -462,7 +462,7 @@ void Sensor::calculateStatus(BOOL bForcedRecalc)
    else
       status = STATUS_CRITICAL;
 
-   m_status = m_status != STATUS_UNKNOWN ? max(m_status, status) : status;
+   m_status = m_status != STATUS_UNKNOWN ? std::max(m_status, status) : status;
    unlockProperties();
 }
 
index dabf70c..51c64ad 100644 (file)
@@ -274,7 +274,7 @@ static BOOL ParseSyslogMessage(char *psMsg, int nMsgLen, time_t receiverTime, NX
    }
    pCurr -= i;
    nPos -= i;
-   nLen = min(nMsgLen - nPos, MAX_LOG_MSG_LENGTH);
+   nLen = std::min(nMsgLen - nPos, MAX_LOG_MSG_LENGTH);
    memcpy(pRec->szMessage, pCurr, nLen);
 
    return TRUE;
@@ -542,7 +542,7 @@ static void SyslogParserCallback(UINT32 eventCode, const TCHAR *eventName, const
        TCHAR *plist[33];
        TCHAR repeatCountText[16];
 
-       int count = min(paramCount, 32);
+       int count = std::min(paramCount, 32);
        format[count + 1] = 0;
        for(int i = 0; i < count; i++)
                plist[i] = params[i];
@@ -943,7 +943,7 @@ void StartSyslogServer()
    {
       if (DBGetNumRows(hResult) > 0)
       {
-         s_msgId = max(DBGetFieldUInt64(hResult, 0, 0) + 1, s_msgId);
+         s_msgId = std::max(DBGetFieldUInt64(hResult, 0, 0) + 1, s_msgId);
       }
       DBFreeResult(hResult);
    }
index 97bc599..9532fee 100644 (file)
@@ -597,11 +597,11 @@ public:
    UINT32 getNumDataLines() { return m_dwNumDataLines; }
    const TCHAR *getDataLine(UINT32 dwIndex) { return dwIndex < m_dwNumDataLines ? m_ppDataLines[dwIndex] : _T("(error)"); }
 
-   void setConnectionTimeout(UINT32 dwTimeout) { m_connectionTimeout = max(dwTimeout, 1000); }
+   void setConnectionTimeout(UINT32 dwTimeout) { m_connectionTimeout = MAX(dwTimeout, 1000); }
        UINT32 getConnectionTimeout() { return m_connectionTimeout; }
-   void setCommandTimeout(UINT32 dwTimeout) { m_dwCommandTimeout = max(dwTimeout, 500); }
+   void setCommandTimeout(UINT32 dwTimeout) { m_dwCommandTimeout = MAX(dwTimeout, 500); }
        UINT32 getCommandTimeout() { return m_dwCommandTimeout; }
-   void setRecvTimeout(UINT32 dwTimeout) { m_dwRecvTimeout = max(dwTimeout, 10000); }
+   void setRecvTimeout(UINT32 dwTimeout) { m_dwRecvTimeout = MAX(dwTimeout, 10000); }
    void setEncryptionPolicy(int iPolicy) { m_iEncryptionPolicy = iPolicy; }
    void setProxy(InetAddress addr, WORD wPort = AGENT_LISTEN_PORT,
                  int iAuthMethod = AUTH_NONE, const TCHAR *pszSecret = NULL);
index 57aa5f7..0e7de99 100644 (file)
@@ -270,7 +270,7 @@ int main(int argc, char *argv[])
                                        MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, argv[optind + 1], -1, action, 256);
                                        action[255] = 0;
                                        
-                                       int count = min(argc - optind - 2, 256);
+                                       int count = std::min(argc - optind - 2, 256);
                                        for(i = 0, k = optind + 2; i < count; i++, k++)
                                                args[i] = WideStringFromMBString(argv[k]);
                dwError = conn->execAction(action, count, args, showOutput, OutputCallback);
index 1044064..558d320 100644 (file)
@@ -8980,14 +8980,14 @@ static BOOL H_UpgradeFromV69(int currVersion, int newVersion)
 
        // Convert event log retention time from seconds to days
        n = ConfigReadInt(_T("EventLogRetentionTime"), 5184000) / 86400;
-       _sntprintf(buffer, 64, _T("%d"), max(n, 1));
+       _sntprintf(buffer, 64, _T("%d"), std::max(n, 1));
    if (!CreateConfigParam(_T("EventLogRetentionTime"), buffer, 1, 0, TRUE))
       if (!g_bIgnoreErrors)
          return FALSE;
 
        // Convert event log retention time from seconds to days
        n = ConfigReadInt(_T("SyslogRetentionTime"), 5184000) / 86400;
-       _sntprintf(buffer, 64, _T("%d"), max(n, 1));
+       _sntprintf(buffer, 64, _T("%d"), std::max(n, 1));
    if (!CreateConfigParam(_T("SyslogRetentionTime"), buffer, 1, 0, TRUE))
       if (!g_bIgnoreErrors)
          return FALSE;
index efb5a3e..6b7af75 100644 (file)
@@ -111,11 +111,11 @@ int main(int argc, char *argv[])
 
    NXMODULE_METADATA module;
    memset(&module, 0, sizeof(NXMODULE_METADATA));
-   memcpy(&module, metadata, min(metadata->size, sizeof(NXMODULE_METADATA)));
+   memcpy(&module, metadata, std::min(static_cast<size_t>(metadata->size), sizeof(NXMODULE_METADATA)));
 
    if (strcmp(module.tagBegin, "$$$NXMINFO>$$$"))
    {
-      memcpy(module.name, ((NXMODULE_METADATA_V1 *)metadata)->name, min(metadata->size - 8, sizeof(NXMODULE_METADATA) - 24));
+      memcpy(module.name, ((NXMODULE_METADATA_V1 *)metadata)->name, std::min(static_cast<size_t>(metadata->size) - 8, sizeof(NXMODULE_METADATA) - 24));
    }
 
    _tprintf(_T("Module:         %s\n"), modname);
index 4450eb4..b62a17a 100644 (file)
 
 #include "libnxsnmp.h"
 
-
-//
-// Constructors
-//
-
+/**
+ * Create engine with empty ID
+ */
 SNMP_Engine::SNMP_Engine()
 {
        m_idLen = 0;
@@ -35,14 +33,20 @@ SNMP_Engine::SNMP_Engine()
        m_engineTime = 0;
 }
 
+/**
+ * Create engine with given ID and data
+ */
 SNMP_Engine::SNMP_Engine(BYTE *id, size_t idLen, int engineBoots, int engineTime)
 {
-       m_idLen = min(idLen, SNMP_MAX_ENGINEID_LEN);
+       m_idLen = std::min(idLen, SNMP_MAX_ENGINEID_LEN);
        memcpy(m_id, id, m_idLen);
        m_engineBoots = engineBoots;
        m_engineTime = engineTime;
 }
 
+/**
+ * Copy constructor
+ */
 SNMP_Engine::SNMP_Engine(const SNMP_Engine *src)
 {
        m_idLen = src->m_idLen;
index f4c6e26..eefa106 100644 (file)
@@ -113,7 +113,7 @@ int SNMP_ObjectId::compare(const UINT32 *oid, size_t length) const
    if ((oid == NULL) || (length == 0) || (m_value == NULL))
       return OID_ERROR;
 
-   size_t stop = min(length, m_length);
+   size_t stop = std::min(length, m_length);
    for(size_t i = 0; i < stop; i++)
    {
       if (m_value[i] != oid[i])
index 4d4395b..6ca978a 100644 (file)
@@ -1,7 +1,7 @@
 /* 
 ** NetXMS - Network Management System
 ** SNMP support library
-** Copyright (C) 2003-2016 Victor Kirhenshtein
+** Copyright (C) 2003-2017 Victor Kirhenshtein
 **
 ** This program is free software; you can redistribute it and/or modify
 ** it under the terms of the GNU Lesser General Public License as published by
@@ -563,7 +563,7 @@ bool SNMP_PDU::parseV3SecurityUsm(const BYTE *data, size_t dataLength, const BYT
       return false;
    if (type != ASN_OCTET_STRING)
       return false;
-       memcpy(m_signature, currPos, min(length, 12));
+       memcpy(m_signature, currPos, MIN(length, 12));
        m_signatureOffset = currPos - rawMsg;
    currPos += length;
    remLength -= length + idLength;
@@ -573,7 +573,7 @@ bool SNMP_PDU::parseV3SecurityUsm(const BYTE *data, size_t dataLength, const BYT
       return false;
    if (type != ASN_OCTET_STRING)
       return false;
-       memcpy(m_salt, currPos, min(length, 8));
+       memcpy(m_salt, currPos, MIN(length, 8));
 
        return true;
 }
@@ -1390,7 +1390,7 @@ void SNMP_PDU::bindVariable(SNMP_Variable *pVar)
  */
 void SNMP_PDU::setContextEngineId(const BYTE *id, size_t len)
 {
-       m_contextEngineIdLen = min(len, SNMP_MAX_ENGINEID_LEN);
+       m_contextEngineIdLen = std::min(len, SNMP_MAX_ENGINEID_LEN);
        memcpy(m_contextEngineId, id, m_contextEngineIdLen);
 }
 
@@ -1399,7 +1399,7 @@ void SNMP_PDU::setContextEngineId(const BYTE *id, size_t len)
  */
 void SNMP_PDU::setContextEngineId(const char *id)
 {
-       m_contextEngineIdLen = min((int)strlen(id), SNMP_MAX_ENGINEID_LEN);
+       m_contextEngineIdLen = std::min(strlen(id), SNMP_MAX_ENGINEID_LEN);
        memcpy(m_contextEngineId, id, m_contextEngineIdLen);
 }
 
index e4dffaf..8d2c3f0 100644 (file)
@@ -166,7 +166,7 @@ bool SNMP_Variable::parse(const BYTE *data, size_t varLength)
  */
 size_t SNMP_Variable::getRawValue(BYTE *buffer, size_t bufSize) const
 {
-       size_t len = min(bufSize, (size_t)m_valueLength);
+       size_t len = std::min(bufSize, m_valueLength);
    memcpy(buffer, m_value, len);
        return len;
 }
@@ -262,7 +262,7 @@ TCHAR *SNMP_Variable::getValueAsString(TCHAR *buffer, size_t bufferSize) const
          SNMPConvertOIDToText(m_valueLength / sizeof(UINT32), (UINT32 *)m_value, buffer, bufferSize);
          break;
       case ASN_OCTET_STRING:
-         length = min(bufferSize - 1, m_valueLength);
+         length = std::min(bufferSize - 1, m_valueLength);
          if (length > 0)
          {
 #ifdef UNICODE
@@ -303,7 +303,7 @@ TCHAR *SNMP_Variable::getValueAsPrintableString(TCHAR *buffer, size_t bufferSize
 
    if (m_type == ASN_OCTET_STRING)
        {
-      length = min(bufferSize - 1, m_valueLength);
+      length = std::min(bufferSize - 1, m_valueLength);
       if (length > 0)
       {
          bool conversionNeeded = false;
index ac74329..c414310 100644 (file)
@@ -1,7 +1,7 @@
 /* 
 ** NetXMS - Network Management System
 ** SNMP support library
-** Copyright (C) 2003-2010 Victor Kirhenshtein
+** Copyright (C) 2003-2017 Victor Kirhenshtein
 **
 ** This program is free software; you can redistribute it and/or modify
 ** it under the terms of the GNU Lesser General Public License as published by
@@ -78,7 +78,7 @@ int ZFile::zwrite(const void *pBuf, int nLen)
 
    for(nSrcPos = 0, nRet = 0; nSrcPos < nLen; nSrcPos += nBytes)
    {
-      nBytes = min(nLen - nSrcPos, DATA_BUFFER_SIZE - m_nBufferSize);
+      nBytes = std::min(nLen - nSrcPos, DATA_BUFFER_SIZE - m_nBufferSize);
       memcpy(&m_pDataBuffer[m_nBufferSize], (BYTE *)pBuf + nSrcPos, nBytes);
       m_nBufferSize += nBytes;
       if (m_nBufferSize == DATA_BUFFER_SIZE)
@@ -158,7 +158,7 @@ int ZFile::zread(void *pBuf, int nLen)
    {
       if (!fillDataBuffer())
          return 0;   // EOF or error
-      nBytes = min(nLen - nDstPos, m_nBufferSize);
+      nBytes = std::min(nLen - nDstPos, m_nBufferSize);
       memcpy((BYTE *)pBuf + nDstPos, m_pBufferPos, nBytes);
       m_pBufferPos += nBytes;
       m_nBufferSize -= nBytes;