osaf/services/saf/ntfsv/ntfs/Makefile.am  |   1 +
 osaf/services/saf/ntfsv/ntfs/NtfFilter.cc |  34 +++++++++++++++++-------------
 osaf/services/saf/ntfsv/ntfs/NtfLogger.cc |   5 +++-
 osaf/services/saf/ntfsv/ntfs/ntfs_evt.c   |   5 ++-
 osaf/services/saf/ntfsv/ntfs/ntfs_main.c  |   5 ++++
 5 files changed, 32 insertions(+), 18 deletions(-)


diff --git a/osaf/services/saf/ntfsv/ntfs/Makefile.am 
b/osaf/services/saf/ntfsv/ntfs/Makefile.am
--- a/osaf/services/saf/ntfsv/ntfs/Makefile.am
+++ b/osaf/services/saf/ntfsv/ntfs/Makefile.am
@@ -39,6 +39,7 @@ osaf_execbindir = $(pkglibdir)
 osaf_execbin_PROGRAMS = osafntfd
 
 osafntfd_CPPFLAGS = \
+       -DSA_EXTENDED_NAME_SOURCE \
        $(AM_CPPFLAGS) \
        -I$(top_srcdir)/osaf/libs/common/ntfsv/include \
        -I$(top_srcdir)/osaf/tools/saflog/include
diff --git a/osaf/services/saf/ntfsv/ntfs/NtfFilter.cc 
b/osaf/services/saf/ntfsv/ntfs/NtfFilter.cc
--- a/osaf/services/saf/ntfsv/ntfs/NtfFilter.cc
+++ b/osaf/services/saf/ntfsv/ntfs/NtfFilter.cc
@@ -24,6 +24,7 @@
  */
 
 #include "NtfFilter.hh"
+#include <string>
 #include "logtrace.h"
 #include "ntfsv_mem.h"
 
@@ -115,22 +116,25 @@ bool NtfFilter::checkSourceIndicator(SaU
  */
 bool NtfFilter::cmpSaNameT(SaNameT *n, SaNameT *n2)
 {
-       if (n->length != n2->length) {
-               if (n->length < n2->length) {
-                       char *rv, *p = strndup((char*)n->value, n->length);
-                       char *p2 = strndup((char*)n2->value, n2->length);
-                       rv = strstr(p2,p); 
-                       free(p);
-                       free(p2);
-                       if (rv) 
-                               return true;
-               }
-               return false; 
-       }
+       bool rc;
+       char *str2, *str;
+       size_t length, length2;
        
-       if(memcmp(n->value, n2->value, n2->length) == 0)
-               return true;
-       return false; 
+       rc = false;
+       str = ntfs_sanamet_strdup(n);
+       length = strlen(str);
+       str2 = ntfs_sanamet_strdup(n2);
+       length2 = strlen(str2);
+       
+       if (length != length2) {
+               if (length < length2)
+                       rc = strstr(str2, str) != NULL; 
+       } else if(memcmp(str, str2, length) == 0)
+               rc = true;
+               
+       free(str);
+       free(str2);
+       return rc; 
 }
 
 /**
diff --git a/osaf/services/saf/ntfsv/ntfs/NtfLogger.cc 
b/osaf/services/saf/ntfsv/ntfs/NtfLogger.cc
--- a/osaf/services/saf/ntfsv/ntfs/NtfLogger.cc
+++ b/osaf/services/saf/ntfsv/ntfs/NtfLogger.cc
@@ -21,12 +21,14 @@
  */
 #include <sys/poll.h>
 
+#include "saAis.h"
 #include "saLog.h"
 #include "NtfAdmin.hh"
 #include "NtfLogger.hh"
 #include "ntfs_com.h"
 #include "logtrace.h"
 #include "ntfsv_mem.h"
+#include "osaf_extended_name.h"
 
 /* ========================================================================
  *   DEFINITIONS
@@ -270,7 +272,8 @@ SaAisErrorT NtfLogger::logNotification(N
 SaAisErrorT NtfLogger::initLog()
 {
     SaAisErrorT result;
-    SaNameT alarmStreamName        = {sizeof(SA_LOG_STREAM_ALARM), 
SA_LOG_STREAM_ALARM};
+    SaNameT alarmStreamName;
+    osaf_extended_name_lend(SA_LOG_STREAM_ALARM, &alarmStreamName);
     int first_try = 1;
 
     TRACE_ENTER();
diff --git a/osaf/services/saf/ntfsv/ntfs/ntfs_evt.c 
b/osaf/services/saf/ntfsv/ntfs/ntfs_evt.c
--- a/osaf/services/saf/ntfsv/ntfs/ntfs_evt.c
+++ b/osaf/services/saf/ntfsv/ntfs/ntfs_evt.c
@@ -20,6 +20,7 @@
 #include <limits.h>
 #include "ntfs.h"
 #include "ntfsv_enc_dec.h"
+#include "ntfsv_mem.h"
 #include "ntfs_imcnutil.h"
 
 
@@ -341,10 +342,10 @@ static void print_header(SaNtfNotificati
        TRACE_1("eventType = %d", (int)*notificationHeader->eventType);
 
        /* Notification Object */
-       TRACE_1("notificationObject.length = %u\n", 
notificationHeader->notificationObject->length);
+       TRACE_1("notificationObject.length = %zu\n", 
ntfs_sanamet_length(notificationHeader->notificationObject));
 
        /* Notifying Object */
-       TRACE_1("notifyingObject->length = %u\n", 
notificationHeader->notifyingObject->length);
+       TRACE_1("notifyingObject->length = %zu\n", 
ntfs_sanamet_length(notificationHeader->notifyingObject));
 
        /* Notification Class ID */
        TRACE_1("VendorID = %d\nmajorID = %d\nminorID = %d\n",
diff --git a/osaf/services/saf/ntfsv/ntfs/ntfs_main.c 
b/osaf/services/saf/ntfsv/ntfs/ntfs_main.c
--- a/osaf/services/saf/ntfsv/ntfs/ntfs_main.c
+++ b/osaf/services/saf/ntfsv/ntfs/ntfs_main.c
@@ -180,6 +180,11 @@ static uint32_t initialize()
        uint32_t rc = NCSCC_RC_SUCCESS;;
 
        TRACE_ENTER();
+       /* Set extended SaNameT environment var*/
+       if (setenv("SA_ENABLE_EXTENDED_NAMES", "1", 1) != 0) {
+               LOG_ER("Failed to enable Extended SaNameT");
+               goto done;
+       }
 
        /* Determine how this process was started, by NID or AMF */
        if (getenv("SA_AMF_COMPONENT_NAME") == NULL)

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to