Removed usage of wchar.h and related components on UNIX platform
authorVictor Kirhenshtein <victor@netxms.org>
Tue, 28 Sep 2004 13:11:08 +0000 (13:11 +0000)
committerVictor Kirhenshtein <victor@netxms.org>
Tue, 28 Sep 2004 13:11:08 +0000 (13:11 +0000)
TODO
include/netxms-version.h
include/unicode.h
src/libnetxms/unicode.cpp
src/server/core/dcithreshold.cpp
src/server/core/log.cpp
src/server/core/users.cpp

diff --git a/TODO b/TODO
index b4f3dff..7c163ed 100644 (file)
--- a/TODO
+++ b/TODO
@@ -20,9 +20,6 @@ GENERAL:
 - Add new data types for data collection: unsigned integer 32 bits
   and unsigned integer 64 bits
 - Allow converting counters to deltas in data collection
-- Change usage of MultiByteToWideChar() and WideCharToMultiByte() to
-  wctomb() and mbtowc()
-- Add --enable-unicode argument to configure script
 
 
 SERVER:
index 03e4caf..e747c94 100644 (file)
@@ -30,8 +30,8 @@
 
 #define NETXMS_VERSION_MAJOR      0
 #define NETXMS_VERSION_MINOR      1
-#define NETXMS_VERSION_BUILD      1
-#define NETXMS_VERSION_STRING     "0.1.1"
+#define NETXMS_VERSION_BUILD      
+#define NETXMS_VERSION_STRING     "0.1.2"
 
 
 #endif
index 866b479..55e1bfb 100644 (file)
 
 #include <tchar.h>
 
-#else    /* _WIN32 */
+#else    /* not _WIN32 */
 
-#if HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-
-#if HAVE_WCHAR_T
-#define WCHAR     wchar_t
-#else
 #define WCHAR     unsigned short
-#endif
 
 #ifdef UNICODE
 
-#define _T(x)     L##x
-#define TCHAR     char
-
-#define _tcscpy   wcscpy
-#define _tcsncpy  wcsncpy
-#define _tcslen   wcslen
-#define _tcschr   wcschr
-#define _tcsrchr  wcsrchr
-#define _tcscmp   wcscmp
-#define _tcsicmp  wcsicmp
-#define _tprintf  wprintf
-#define _stprintf swprintf
-#define _vtprintf vwprintf
-#define _tfopen   fopen
-#define _fgetts   fgetws
-#define _tcstol   wcstol
-#define _tcstoul  wcstoul
-#define _tcstod   wcstod
-#define _tcsdup   wcsdup
-#define _tcsupr   wcsupr
-#define _tcsspn   wcsspn
+#error UNICODE is not supported on non-Windows platforms
 
 #else
 
@@ -90,7 +62,9 @@
 #define _tcsicmp  stricmp
 #define _tprintf  printf
 #define _stprintf sprintf
+#define _sntprintf snprintf
 #define _vtprintf vprintf
+#define _vsntprintf vsnprintf
 #define _tfopen   fopen
 #define _fgetts   fgets
 #define _tcstol   strtol
index 4826208..cc64a44 100644 (file)
@@ -30,8 +30,6 @@
 // Calculate length of wide character string
 //
 
-#if !defined(_WIN32) && !(HAVE_WCSLEN)
-
 int LIBNETXMS_EXPORTABLE wcslen(WCHAR *pStr)
 {
    int iLen = 0;
@@ -42,8 +40,6 @@ int LIBNETXMS_EXPORTABLE wcslen(WCHAR *pStr)
    return iLen;
 }
 
-#endif
-
 
 //
 // Convert UNICODE string to single-byte string
@@ -88,7 +84,7 @@ int LIBNETXMS_EXPORTABLE MultiByteToWideChar(int iCodePage, DWORD dwFlags, char
    return iSize;
 }
 
-#endif   /* _WIN32 */
+#endif   /* not _WIN32 */
 
 
 //
index 7819c5b..9c4ae4d 100644 (file)
@@ -416,7 +416,7 @@ void Threshold::UpdateFromMessage(DCI_THRESHOLD *pData)
          sprintf(m_pszValueStr, "%lu", m_value.dwUInt);
          break;
       case DCI_DT_INT64:
-         m_value.iInt64 = (UINT64)ntohq(pData->value.qwInt64);
+         m_value.iInt64 = (INT64)ntohq(pData->value.qwInt64);
          m_pszValueStr = (char *)malloc(32);
 #ifdef _WIN32
          sprintf(m_pszValueStr, "%I64d", m_value.iInt64);
@@ -425,7 +425,7 @@ void Threshold::UpdateFromMessage(DCI_THRESHOLD *pData)
 #endif
          break;
       case DCI_DT_UINT64:
-         m_value.iInt64 = (UINT64)ntohq(pData->value.qwInt64);
+         m_value.iInt64 = (QWORD)ntohq(pData->value.qwInt64);
          m_pszValueStr = (char *)malloc(32);
 #ifdef _WIN32
          sprintf(m_pszValueStr, "%I64u", m_value.qwUInt64);
index 97cf77a..7c1a28b 100644 (file)
@@ -67,6 +67,7 @@ void InitLog(void)
       loc = localtime(&t);
       strftime(szTimeBuf, 32, "%d-%b-%Y %H:%M:%S", loc);
       fprintf(m_hLogFile, "**************************************************************\r\n[%s] Log file opened\r\n", szTimeBuf);
+      fflush(m_hLogFile);
 
       m_mutexLogAccess = MutexCreate();
 #ifdef _WIN32
@@ -116,6 +117,7 @@ static void WriteLogToFile(char *szMessage)
    loc = localtime(&t);
    strftime(szBuffer, 32, "[%d-%b-%Y %H:%M:%S]", loc);
    fprintf(m_hLogFile, "%s %s", szBuffer, szMessage);
+   fflush(m_hLogFile);
    if (IsStandalone())
       printf("%s %s", szBuffer, szMessage);
 
index d7a906c..f629ceb 100644 (file)
@@ -301,8 +301,17 @@ BOOL AuthenticateUser(char *szName, BYTE *szPassword, DWORD *pdwId, DWORD *pdwSy
    DWORD i;
    BOOL bResult = FALSE;
 
+char temp[256];
+BinToStr(szPassword, SHA1_DIGEST_SIZE, temp);
+printf("login='%s' hash='%s'\n",szName,temp);
    MutexLock(m_hMutexUserAccess, INFINITE);
    for(i = 0; i < g_dwNumUsers; i++)
+   {
+BinToStr(g_pUserList[i].szPassword, SHA1_DIGEST_SIZE, temp);
+printf("checking: '%s' '%s' %d %d %d\n",g_pUserList[i].szName,temp,g_pUserList[i].wFlags,UF_DISABLED,g_pUserList[i].wFlags & UF_DISABLED);      
+printf("expr: %d\n",(!strcmp(szName, g_pUserList[i].szName) &&
+                   !memcmp(szPassword, g_pUserList[i].szPassword, SHA1_DIGEST_SIZE) &&
+                             !(g_pUserList[i].wFlags & UF_DELETED) && !(g_pUserList[i].wFlags & UF_DISABLED)));
       if (!strcmp(szName, g_pUserList[i].szName) &&
           !memcmp(szPassword, g_pUserList[i].szPassword, SHA1_DIGEST_SIZE) &&
           !(g_pUserList[i].wFlags & UF_DELETED) && !(g_pUserList[i].wFlags & UF_DISABLED))
@@ -312,6 +321,7 @@ BOOL AuthenticateUser(char *szName, BYTE *szPassword, DWORD *pdwId, DWORD *pdwSy
          bResult = TRUE;
          break;
       }
+   }
    MutexUnlock(m_hMutexUserAccess);
    return bResult;
 }