Index: trunk/src/samhain.c
===================================================================
--- trunk/src/samhain.c	(revision 206)
+++ trunk/src/samhain.c	(revision 207)
@@ -1664,9 +1664,9 @@
 			     MSG_MOD_FAIL,
 			     _(modList[modnum].name),
-			     status);
+			     status+SH_MOD_OFFSET);
 	  } else {
 	    sh_error_handle ((-1), FIL__, __LINE__, status, MSG_MOD_FAIL,
 			     _(modList[modnum].name),
-			     status);
+			     status+SH_MOD_OFFSET);
 	  }
 	  modList[modnum].initval = SH_MOD_FAILED;
@@ -1832,10 +1832,10 @@
 					 status, MSG_MOD_FAIL,
 					 _(modList[modnum].name),
-					 status);
+					 status+SH_MOD_OFFSET);
 		      } else {
 			sh_error_handle ((-1), FIL__, __LINE__, 
 					 status, MSG_MOD_FAIL,
 					 _(modList[modnum].name),
-					 status);
+					 status+SH_MOD_OFFSET);
 		      }
 		      modList[modnum].initval = SH_MOD_FAILED;
@@ -2073,5 +2073,5 @@
 	    if (0 != (status = modList[modnum].mod_check()))
 	      sh_error_handle ((-1), FIL__, __LINE__, status, MSG_MOD_EXEC,
-			       _(modList[modnum].name), (long) status);
+			       _(modList[modnum].name), (long) (status+SH_MOD_OFFSET));
 	}
       
Index: trunk/src/sh_database.c
===================================================================
--- trunk/src/sh_database.c	(revision 206)
+++ trunk/src/sh_database.c	(revision 207)
@@ -112,5 +112,5 @@
   char            acl_new[1024];
 
-  long            long_data[20];
+  unsigned long   ulong_data[20];
 
   /*
@@ -870,8 +870,14 @@
  ******************************************************************/
 
-#ifdef HAVE_PGSQL_LIBPQ_FE_H
+#if defined(HAVE_PGSQL_LIBPQ_FE_H)
 #include <pgsql/libpq-fe.h>
+#elif defined(HAVE_POSTGRESQL_LIBPQ_FE_H)
+#include <postgresql/libpq-fe.h>
 #else
+#if !defined(USE_UNO)
 #include <libpq-fe.h>
+#else
+#include <postgresql/libpq-fe.h>
+#endif
 #endif
 
@@ -1395,6 +1401,6 @@
 	{
 	  (void)
-	  sl_snprintf(end, (size_t)(size-1), _(",\'%ld\'"), 
-		      db_entry->long_data[attr_tab[i].val-START_SEC_LONGS]);
+	  sl_snprintf(end, (size_t)(size-1), _(",\'%lu\'"), 
+		      db_entry->ulong_data[attr_tab[i].val-START_SEC_LONGS]);
 	  while (*end != '\0') { ++end; --size; }
 	  (void) sl_snprintf(c_end, (size_t)(c_size-1), 
@@ -1406,5 +1412,5 @@
 	      (void)
 	      md5Update(&crc,
-			(sh_byte *) db_entry->long_data[attr_tab[i].val-START_SEC_LONGS], 
+			(sh_byte *) db_entry->ulong_data[attr_tab[i].val-START_SEC_LONGS], 
 			sizeof(long));
 	      /*@+type@*/
@@ -1718,6 +1724,7 @@
 		else if (res->val >= START_SEC_LONGS)
 		  {
-		    db_entry->long_data[res->val-START_SEC_LONGS]
-		      = atol(&p[j+2]);
+		    db_entry->ulong_data[res->val-START_SEC_LONGS]
+		      = strtoul(&p[j+2], (char **) NULL, 10); 
+		    /* atol(&p[j+2]); */
 		  }
 
