fix in HP-UX build
authorVictor Kirhenshtein <victor@netxms.org>
Fri, 14 Mar 2014 16:11:52 +0000 (18:11 +0200)
committerVictor Kirhenshtein <victor@netxms.org>
Fri, 14 Mar 2014 16:11:52 +0000 (18:11 +0200)
doc/misc/embedded_nxcp.c
include/nms_common.h

index fe2963d..a58f730 100644 (file)
@@ -233,7 +233,7 @@ uint32_t nxcp_preprocess_message()
 uint32_t nxcp_get_rcc()
 {
    NXCP_DF *field = (NXCP_DF *)(nxcp_message + 16);
-   if ((field->type == CSCP_DT_INTEGER) && (field->id == htonl(28)))
+   if ((field->type == CSCP_DT_INTEGER) && (field->id == htonl(28L)))
    {
       return ntohl(field->df_int32);
    }
index d52fdc3..735e50e 100644 (file)
@@ -548,6 +548,21 @@ typedef void * HMODULE;
 typedef int mode_t;
 #endif
 
+// We have to use long as INT64 on HP-UX - otherwise
+// there will be compilation errors because of type redefinition in
+// system includes
+#ifdef _HPUX
+
+#ifdef __LP64__
+typedef long INT64;
+typedef unsigned long UINT64;
+#else
+typedef long long INT64;
+typedef unsigned long long UINT64;
+#endif
+
+#else    /* _HPUX */
+
 #if HAVE_LONG_LONG && (SIZEOF_LONG_LONG == 8)
 typedef long long INT64;
 #elif HAVE_INT64_T
@@ -569,6 +584,9 @@ typedef unsigned long UINT64;
 #else
 #error Target system does not have unsigned 64bit integer type
 #endif
+
+#endif   /* _HPUX */
+
 typedef UINT64 QWORD;   // for compatibility
 
 #define INT64_FMT                      _T("%lld")