Object ID and Class ID are `unsigned int` data type, but they are not used consistently through the codes. Some places use `int` type.
This patch corrects these places. --- src/imm/common/immpbe_dump.cc | 49 ++++++++++++++++++++-------------------- src/imm/common/immpbe_dump.h | 6 ++--- src/imm/immpbed/immpbe_daemon.cc | 5 ---- src/imm/tools/imm_dumper.cc | 5 ++-- 4 files changed, 31 insertions(+), 34 deletions(-) diff --git a/src/imm/common/immpbe_dump.cc b/src/imm/common/immpbe_dump.cc index 11af674..9f21428 100644 --- a/src/imm/common/immpbe_dump.cc +++ b/src/imm/common/immpbe_dump.cc @@ -350,7 +350,7 @@ static void typeToPBE(SaImmAttrDefinitionT_2 *p, void *dbHandle, } static void valuesToPBE(const SaImmAttrValuesT_2 *p, SaImmAttrFlagsT attrFlags, - int objId, void *db_handle) { + unsigned objId, void *db_handle) { int rc = 0; bool badfile = false; sqlite3 *dbHandle = (sqlite3 *)db_handle; @@ -1369,9 +1369,9 @@ void objectModifyDiscardAllValuesOfAttrToPBE( int rc = 0; char *zErr = NULL; - int object_id; + unsigned object_id; std::string object_id_str; - int class_id; + unsigned class_id; SaImmValueTypeT attr_type; SaImmAttrFlagsT attr_flags; unsigned int rowsModified = 0; @@ -1591,8 +1591,8 @@ void objectModifyDiscardMatchingValuesOfAttrToPBE( int rc = 0; std::string object_id_str; - int object_id; - int class_id; + unsigned object_id; + unsigned class_id; SaImmValueTypeT attr_type; SaImmAttrFlagsT attr_flags; unsigned int rowsModified = 0; @@ -1847,8 +1847,8 @@ void objectModifyAddValuesOfAttrToPBE(void *db_handle, std::string objName, int rc = 0; std::string object_id_str; - int object_id; - int class_id; + unsigned object_id; + unsigned class_id; SaImmValueTypeT attr_type; SaImmAttrFlagsT attr_flags; unsigned int rowsModified = 0; @@ -2105,7 +2105,7 @@ bailout: exit(1); } -int dumpInstancesOfClassToPBE(SaImmHandleT immHandle, ClassMap *classIdMap, +unsigned dumpInstancesOfClassToPBE(SaImmHandleT immHandle, ClassMap *classIdMap, std::string className, unsigned int *objIdCount, void *db_handle) { unsigned int obj_count = 0; @@ -2175,7 +2175,8 @@ int dumpInstancesOfClassToPBE(SaImmHandleT immHandle, ClassMap *classIdMap, return obj_count; bailout: sqlite3_close(dbHandle); - return (-1); + LOG_ER("dumpInstncesOfClassesToPBE failed. dbHandle is closed - exiting"); + exit(1); } void objectDeleteToPBE(std::string objectNameString, void *db_handle) { @@ -2186,8 +2187,8 @@ void objectDeleteToPBE(std::string objectNameString, void *db_handle) { int rc = 0; char *zErr = NULL; std::string object_id_str; - int object_id; - int class_id; + unsigned object_id; + unsigned class_id; std::string class_name; bool badfile = false; TRACE_ENTER(); @@ -2561,7 +2562,7 @@ int verifyPbeState(SaImmHandleT immHandle, ClassMap *classIdMap, char *execErr = NULL; sqlite3 *dbHandle = (sqlite3 *)db_handle; std::string sqlQ("SELECT MAX(obj_id) FROM objects"); - int obj_count = 0; + unsigned obj_count = 0; char **result = NULL; char *qErr = NULL; int nrows = 0; @@ -2632,8 +2633,8 @@ bailout: return 0; } -int dumpObjectsToPbe(SaImmHandleT immHandle, ClassMap *classIdMap, - void *db_handle) { +unsigned dumpObjectsToPbe(SaImmHandleT immHandle, ClassMap *classIdMap, + void *db_handle) { int rc = 0; SaNameT root; SaImmSearchHandleT searchHandle; @@ -2727,12 +2728,12 @@ int dumpObjectsToPbe(SaImmHandleT immHandle, ClassMap *classIdMap, return object_id; /* == number of dumped objects */ bailout: sqlite3_close(dbHandle); - return (-1); + return (0); } -int dumpObjectsToPbe(SaImmHandleT immHandle, ClassMap *classIdMap, - void *db_handle, - std::list<std::string> &selectedClassList) { +unsigned dumpObjectsToPbe(SaImmHandleT immHandle, ClassMap *classIdMap, + void *db_handle, + std::list<std::string> &selectedClassList) { int rc = 0; SaNameT root; SaImmSearchHandleT searchHandle; @@ -2837,7 +2838,7 @@ int dumpObjectsToPbe(SaImmHandleT immHandle, ClassMap *classIdMap, bailout: sqlite3_close(dbHandle); TRACE_LEAVE(); - return (-1); + return (0); } SaAisErrorT pbeBeginTrans(void *db_handle) { @@ -3815,9 +3816,9 @@ unsigned int purgeInstancesOfClassToPBE(SaImmHandleT immHandle, return 0; } -int dumpInstancesOfClassToPBE(SaImmHandleT immHandle, ClassMap* classIdMap, - std::string className, unsigned int* objIdCount, - void* db_handle) { +unsigned dumpInstancesOfClassToPBE(SaImmHandleT immHandle, ClassMap* classIdMap, + std::string className, unsigned* objIdCount, + void* db_handle) { abort(); return (-1); } @@ -3838,13 +3839,13 @@ void deleteClassToPBE(std::string classNameString, void* db_handle, abort(); } -int dumpObjectsToPbe(SaImmHandleT immHandle, ClassMap* classIdMap, +unsigned dumpObjectsToPbe(SaImmHandleT immHandle, ClassMap* classIdMap, void* db_handle) { abort(); return 0; } -int dumpObjectsToPbe(SaImmHandleT immHandle, ClassMap* classIdMap, +unsigned dumpObjectsToPbe(SaImmHandleT immHandle, ClassMap* classIdMap, void* db_handle, std::list<std::string>& selectedClassList) { abort(); diff --git a/src/imm/common/immpbe_dump.h b/src/imm/common/immpbe_dump.h index f44082f..a715e83 100644 --- a/src/imm/common/immpbe_dump.h +++ b/src/imm/common/immpbe_dump.h @@ -70,7 +70,7 @@ bool dumpClassesToPbe(SaImmHandleT immHandle, ClassMap* classIdMap, unsigned int purgeInstancesOfClassToPBE(SaImmHandleT immHandle, std::string className, void* db_handle); -int dumpInstancesOfClassToPBE(SaImmHandleT immHandle, ClassMap* classIdMap, +unsigned dumpInstancesOfClassToPBE(SaImmHandleT immHandle, ClassMap* classIdMap, std::string className, unsigned int* objidCount, void* db_handle); @@ -83,9 +83,9 @@ void deleteClassToPBE(std::string classNameString, void* db_handle, int verifyPbeState(SaImmHandleT immHandle, ClassMap* classIdMap, void* db_handle); -int dumpObjectsToPbe(SaImmHandleT immHandle, ClassMap* classIdMap, +unsigned dumpObjectsToPbe(SaImmHandleT immHandle, ClassMap* classIdMap, void* db_handle); -int dumpObjectsToPbe(SaImmHandleT immHandle, ClassMap* classIdMap, +unsigned dumpObjectsToPbe(SaImmHandleT immHandle, ClassMap* classIdMap, void* db_handle, std::list<std::string>& selectedClassList); bool objectToPBE(std::string objectNameString, const SaImmAttrValuesT_2** attrs, diff --git a/src/imm/immpbed/immpbe_daemon.cc b/src/imm/immpbed/immpbe_daemon.cc index eb03430..1d34087 100644 --- a/src/imm/immpbed/immpbe_daemon.cc +++ b/src/imm/immpbed/immpbe_daemon.cc @@ -611,11 +611,6 @@ static void saImmOiAdminOperationCallback( TRACE_5("sObjCount:%u", sObjCount); 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", obj_count, className.c_str()); TRACE_5("sObjCount:%u", sObjCount); diff --git a/src/imm/tools/imm_dumper.cc b/src/imm/tools/imm_dumper.cc index 0365fc7..07e7416 100644 --- a/src/imm/tools/imm_dumper.cc +++ b/src/imm/tools/imm_dumper.cc @@ -114,7 +114,7 @@ int main(int argc, char* argv[]) { const char* dump_trace_label = "immdump"; const char* trace_label = dump_trace_label; ClassMap classIdMap; - int objCount = 0; + unsigned objCount = 0; std::list<std::string> selectedClassList; /* Support for long DN */ @@ -248,10 +248,11 @@ int main(int argc, char* argv[]) { } if (objCount > 0) { TRACE("Dump %u objects OK", objCount); - } else if (selectedClassList.empty()) { + } else { std::cerr << "immdump: dumpObjectsToPbe failed - exiting, check syslog for details" << std::endl; + LOG_NO("Size of selected class list %zu", selectedClassList.size()); if (!localTmpFilename.empty()) { pbeCleanTmpFiles(localTmpFilename); } -- 1.9.1 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel