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)

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to