Hi Thanh,

Ack.

Thanks, Vu

On 09/08/2019 07:52, Thanh Nguyen wrote:
In IMM, for PBE, IMM uses the mix type of unsigned int
and signed int for Class ID and Object ID. These data are
stored in sqlite3 data base as 32-bit integers. Cast
is used when reading data back from sqlite3 data base.

Applying Google C++ Style Guide, Class ID and Object
ID are now signed int.

One minor code change in the affected area is implemented
to fix Static Code Checker error.
---
  src/imm/common/immpbe_dump.cc    | 44 ++++++++++++++++++++--------------------
  src/imm/common/immpbe_dump.h     | 10 ++++-----
  src/imm/immpbed/immpbe.h         |  2 +-
  src/imm/immpbed/immpbe_daemon.cc | 18 ++++++++--------
  4 files changed, 36 insertions(+), 38 deletions(-)

diff --git a/src/imm/common/immpbe_dump.cc b/src/imm/common/immpbe_dump.cc
index e6b3cc5..ee8950d 100644
--- a/src/imm/common/immpbe_dump.cc
+++ b/src/imm/common/immpbe_dump.cc
@@ -150,8 +150,8 @@ static const char *preparedSql[] = {
  static sqlite3_stmt *preparedStmt[SQL_STMT_SIZE] = {NULL};
struct ObjectInfo {
-  unsigned obj_id;
-  unsigned class_id;
+  int obj_id;
+  int class_id;
    char *dn;
  };
@@ -569,8 +569,8 @@ void pbeAtomicSwitchFile(const char *filePath, std::string localTmpFilename) {
  // Reverse object DN and use the reverse DN as key in sReverseDnMap
  // which is used mainly to collect child objects when we perform cascade 
delete.
  static void reverseAndInsertDn(const std::string &dn,
-                               unsigned obj_id,
-                               unsigned class_id) {
+                               int obj_id,
+                               int class_id) {
    ObjectInfo *info = new ObjectInfo();
    osafassert(info);
@@ -596,8 +596,8 @@ static bool prepareLocalData(sqlite3 *dbHandle) {
    sqlite3_stmt *stmt = nullptr;
    int rc;
    bool ret = false;
-  unsigned obj_id;
-  unsigned class_id;
+  int obj_id;
+  int class_id;
    char *class_name;
    std::string dn;
    int count = 0;
@@ -611,7 +611,7 @@ static bool prepareLocalData(sqlite3 *dbHandle) {
    }
while((rc = sqlite3_step(stmt)) == SQLITE_ROW) {
-    class_id = static_cast<unsigned>(sqlite3_column_int(stmt, 0));
+    class_id = sqlite3_column_int(stmt, 0);
      class_name = const_cast<char*>(reinterpret_cast<const char *>
                                     (sqlite3_column_text(stmt, 1)));
@@ -707,7 +707,7 @@ static bool deleteObjectList(sqlite3 *dbHandle,
    sqlite3_stmt *stmt = nullptr;
    int rc = 0;
    bool ret = false;
-  unsigned object_id;
+  int object_id;
TRACE_ENTER(); @@ -1225,7 +1225,7 @@ void pbeCleanTmpFiles(std::string localTmpFilename) {
  }
ClassInfo *classToPBE(std::string classNameString, SaImmHandleT immHandle,
-                      void *db_handle, unsigned int class_id) {
+                      void *db_handle, int class_id) {
    SaImmClassCategoryT classCategory;
    SaImmAttrDefinitionT_2 **attrDefinitions;
    SaAisErrorT errorCode;
@@ -1563,7 +1563,7 @@ static ClassInfo *verifyClassPBE(std::string 
classNameString,
                                   void *db_handle, bool *badfile) {
    sqlite3 *dbHandle = (sqlite3 *)db_handle;
    int rc = 0;
-  unsigned int class_id = 0;
+  int class_id = 0;
    ClassInfo *classInfo = NULL;
    sqlite3_stmt *stmt;
@@ -2479,9 +2479,9 @@ bailout:
  }
int dumpInstancesOfClassToPBE(SaImmHandleT immHandle, ClassMap *classIdMap,
-                              std::string className, unsigned int *objIdCount,
+                              std::string className, int *objIdCount,
                                void *db_handle) {
-  unsigned int obj_count = 0;
+  int obj_count = 0;
    SaImmSearchHandleT searchHandle;
    SaAisErrorT errorCode;
    SaNameT objectName;
@@ -2591,11 +2591,11 @@ bailout:
  }
bool objectToPBE(std::string objectNameString, const SaImmAttrValuesT_2 **attrs,
-                 ClassMap *classIdMap, void *db_handle, unsigned int object_id,
+                 ClassMap *classIdMap, void *db_handle, int object_id,
                   SaImmClassNameT className, SaUint64T ccb_id) {
    std::string valueString;
    std::string classNameString;
-  unsigned int class_id = 0;
+  int class_id = 0;
    ClassInfo *classInfo = NULL;
    int rc = 0;
    sqlite3 *dbHandle = (sqlite3 *)db_handle;
@@ -2752,7 +2752,7 @@ bool dumpClassesToPbe(SaImmHandleT immHandle, ClassMap 
*classIdMap,
    std::list<std::string> classNameList;
    std::list<std::string>::iterator it;
    int rc = 0;
-  unsigned int class_id = 0;
+  int class_id = 0;
    char *execErr = NULL;
    sqlite3 *dbHandle = (sqlite3 *)db_handle;
    TRACE_ENTER();
@@ -2847,13 +2847,13 @@ int verifyPbeState(SaImmHandleT immHandle, ClassMap 
*classIdMap,
    }
if (nrows != 1) {
-    LOG_ER("Expected 1 row got %u rows (line: %u)", nrows, __LINE__);
+    LOG_ER("Expected 1 row got %d rows (line: %u)", nrows, __LINE__);
      badfile = true;
      goto bailout;
    }
- obj_count = strtoul(result[ncols], NULL, 0);
-  TRACE("verifPbeState: obj_count:%u", obj_count);
+  obj_count = strtol(result[ncols], NULL, 0);
+  TRACE("verifPbeState: obj_count:%d", obj_count);
rc = sqlite3_exec(dbHandle, "ROLLBACK", NULL, NULL, &execErr);
    if (rc != SQLITE_OK) {
@@ -2890,7 +2890,7 @@ int dumpObjectsToPbe(SaImmHandleT immHandle, ClassMap 
*classIdMap,
    char *execErr = NULL;
    sqlite3 *dbHandle = (sqlite3 *)db_handle;
    TRACE_ENTER();
-  unsigned int object_id = 0;
+  int object_id = 0;
    osaf_extended_name_clear(&root);
/* Initialize immOmSearch */
@@ -2989,7 +2989,7 @@ int dumpObjectsToPbe(SaImmHandleT immHandle, ClassMap 
*classIdMap,
    char *execErr = NULL;
    sqlite3 *dbHandle = (sqlite3 *)db_handle;
    TRACE_ENTER();
-  unsigned int object_id = 0;
+  int object_id = 0;
    osaf_extended_name_clear(&root);
    std::list<std::string>::iterator it = selectedClassList.begin();
@@ -4072,7 +4072,7 @@ int finalizeSqlStatement(void* stmt) {
  }
ClassInfo* classToPBE(std::string classNameString, SaImmHandleT immHandle,
-                      void* db_handle, unsigned int class_id) {
+                      void* db_handle, int class_id) {
    abort();
    return NULL;
  }
@@ -4128,7 +4128,7 @@ void objectModifyDiscardMatchingValuesOfAttrToPBE(
  }
bool objectToPBE(std::string objectNameString, const SaImmAttrValuesT_2** attrs,
-                 ClassMap* classIdMap, void* db_handle, unsigned int object_id,
+                 ClassMap* classIdMap, void* db_handle, int object_id,
                   SaImmClassNameT className, SaUint64T ccb_id) {
    abort();
  }
diff --git a/src/imm/common/immpbe_dump.h b/src/imm/common/immpbe_dump.h
index f44082f..17a0108 100644
--- a/src/imm/common/immpbe_dump.h
+++ b/src/imm/common/immpbe_dump.h
@@ -37,7 +37,7 @@ typedef std::map<std::string, SaImmAttrFlagsT> AttrMap;
  int finalizeSqlStatement(void* stmt);
struct ClassInfo {
-  ClassInfo(unsigned int class_id) : mClassId(class_id), sqlStmt(NULL) {}
+  ClassInfo(int class_id) : mClassId(class_id), sqlStmt(NULL) {}
    ~ClassInfo() {
      finalizeSqlStatement(sqlStmt);
      sqlStmt = NULL;
@@ -45,7 +45,7 @@ struct ClassInfo {
      mAttrMap.clear();
    }
- unsigned int mClassId;
+  int mClassId;
    AttrMap mAttrMap;
    void* sqlStmt;
  };
@@ -71,11 +71,11 @@ bool dumpClassesToPbe(SaImmHandleT immHandle, ClassMap* 
classIdMap,
  unsigned int purgeInstancesOfClassToPBE(SaImmHandleT immHandle,
                                          std::string className, void* 
db_handle);
  int dumpInstancesOfClassToPBE(SaImmHandleT immHandle, ClassMap* classIdMap,
-                              std::string className, unsigned int* objidCount,
+                              std::string className, int* objidCount,
                                void* db_handle);
ClassInfo* classToPBE(std::string classNameString, SaImmHandleT immHandle,
-                      void* db_handle, unsigned int class_id);
+                      void* db_handle, int class_id);
void deleteClassToPBE(std::string classNameString, void* db_handle,
                        ClassInfo* theClass);
@@ -89,7 +89,7 @@ int dumpObjectsToPbe(SaImmHandleT immHandle, ClassMap* 
classIdMap,
                       void* db_handle,
                       std::list<std::string>& selectedClassList);
  bool objectToPBE(std::string objectNameString, const SaImmAttrValuesT_2** 
attrs,
-                 ClassMap* classIdMap, void* db_handle, unsigned int object_id,
+                 ClassMap* classIdMap, void* db_handle, int object_id,
                   SaImmClassNameT className, SaUint64T ccbId);
void objectDeleteToPBE(std::string objectNameString, void* db_handle);
diff --git a/src/imm/immpbed/immpbe.h b/src/imm/immpbed/immpbe.h
index 420344b..e9ae271 100644
--- a/src/imm/immpbed/immpbe.h
+++ b/src/imm/immpbed/immpbe.h
@@ -22,6 +22,6 @@
void pbeDaemon(SaImmHandleT immHandle, void* dbHandle,
                 SaImmAdminOwnerHandleT ownerHandle, ClassMap* classIdMap,
-               unsigned int objCount, bool pbe2, bool pbe2B);
+               int objCount, bool pbe2, bool pbe2B);
#endif // IMM_IMMPBED_IMMPBE_H_
diff --git a/src/imm/immpbed/immpbe_daemon.cc b/src/imm/immpbed/immpbe_daemon.cc
index aca202f..1f57d9c 100644
--- a/src/imm/immpbed/immpbe_daemon.cc
+++ b/src/imm/immpbed/immpbe_daemon.cc
@@ -59,8 +59,8 @@ static nfds_t nrtfds = 1;
static void *sDbHandle = NULL;
  static ClassMap *sClassIdMap = NULL;
-static unsigned int sObjCount = 0;
-static unsigned int sClassCount = 0;
+static int sObjCount = 0;
+static int sClassCount = 0;
  static unsigned int sEpoch = 0;
  static unsigned int sNoStdFlags = 0x00000000;
  static unsigned int sBufsize = 256;
@@ -605,20 +605,19 @@ static void saImmOiAdminOperationCallback(
          classToPBE(className, pbeOmHandle, sDbHandle, ++sClassCount);
if (schemaChange) {
-      unsigned int obj_count = 0;
        LOG_IN("PBE created new class definition for %s", className.c_str());
        if (persistentExtent) {
-        TRACE_5("sObjCount:%u", sObjCount);
-        obj_count = dumpInstancesOfClassToPBE(pbeOmHandle, sClassIdMap,
+        TRACE_5("sObjCount:%d", sObjCount);
+        int obj_count = dumpInstancesOfClassToPBE(pbeOmHandle, sClassIdMap,
                                                className, &sObjCount, 
sDbHandle);
          if (obj_count < 0) {
            LOG_ER(
                "dumpInstncesOfClassesToPBE failed in callback in PBE. sDbHandle is 
closed - exiting");
            exit(1);
          }
-        LOG_NO("PBE dumped %u objects of new class definition for %s",
+        LOG_NO("PBE dumped %d objects of new class definition for %s",
                 obj_count, className.c_str());
-        TRACE_5("sObjCount:%u", sObjCount);
+        TRACE_5("sObjCount:%d", sObjCount);
        }
      } else {
        /* Add classname to opensaf object when this is not an upgrade. */
@@ -2386,7 +2385,7 @@ void pbeRtObjThreadStart() {
void pbeDaemon(SaImmHandleT immHandle, void *dbHandle,
                 SaImmAdminOwnerHandleT ownerHandle, ClassMap *classIdMap,
-               unsigned int objCount, bool pbe2, bool pbe2B) {
+               int objCount, bool pbe2, bool pbe2B) {
    SaAisErrorT error = SA_AIS_OK;
    ClassMap::iterator ci;
@@ -2404,7 +2403,7 @@ void pbeDaemon(SaImmHandleT immHandle, void *dbHandle,
    immutilWrapperProfile.nTries = 5;
TRACE_ENTER();
-  LOG_NO("pbeDaemon starting with obj-count:%u", sObjCount);
+  LOG_NO("pbeDaemon starting with obj-count:%d", sObjCount);
/* Restore also sClassCount. */
    for (ci = sClassIdMap->begin(); ci != sClassIdMap->end(); ++ci) {
@@ -2498,7 +2497,6 @@ void pbeDaemon(SaImmHandleT immHandle, void *dbHandle,
            sDbHandle = NULL;
          }
          pbeOiHandle = 0;
-        immHandle = 0;
          break;
        }
      }



_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to