UserValue = const_cast<char *>(value);
}
-/*
-static std::string setEmpty(void) {
- return "";
-}*/
-
-
int
RepositoryEngine::InsertSyncJobToDB(const char *SvcAppId, const char *PkgName, int UserId, const char *AppStatus, int JobId,
const char *SyncType, int AccountId, const char *JobName, int Interval, int Option, bundle *UserData) {
+ bool user_data_available = false;
+
sqlite3 *db = NULL;
db = db_open();
if (!db) {
char noRetry[2] = { 0, };
snprintf(noRetry, sizeof(noRetry) - 1, "%d", Option & SYNC_OPTION_NO_RETRY);
- UserKey = const_cast<char *>(std::string().c_str());
- UserValue = const_cast<char *>(std::string().c_str());
-
- if (UserData)
+ if (UserData) {
bundle_iterate(UserData, bundIterCb, NULL);
+ } else {
+ UserKey = strdup("");
+ UserValue = strdup("");
+ user_data_available = true;
+ }
char *search_query = NULL;
char *insert_query = NULL;
LOG_LOGD("prepare : search query[%s] ret[%d] err_msg[%s]", search_query, ret, sqlite3_errmsg(db));
sqlite3_finalize(stmt);
sqlite3_free(search_query);
+ if (user_data_available && UserKey && UserValue) {
+ free(UserKey);
+ free(UserValue);
+ UserKey = UserValue = NULL;
+ }
db_close(db);
LOG_LOGD("sync-manager DB close");
return -1;
sqlite3_finalize(stmt);
sqlite3_free(search_query);
sqlite3_free(insert_query);
+ if (user_data_available && UserKey && UserValue) {
+ free(UserKey);
+ free(UserValue);
+ UserKey = UserValue = NULL;
+ }
db_close(db);
LOG_LOGD("sync-manager DB close");
return -1;
sqlite3_finalize(stmt);
sqlite3_free(search_query);
sqlite3_free(insert_query);
+ if (user_data_available && UserKey && UserValue) {
+ free(UserKey);
+ free(UserValue);
+ UserKey = UserValue = NULL;
+ }
db_close(db);
LOG_LOGD("sync-manager DB close");
return -1;
sqlite3_reset(stmt);
sqlite3_finalize(stmt);
sqlite3_free(search_query);
+ if (user_data_available && UserKey && UserValue) {
+ free(UserKey);
+ free(UserValue);
+ UserKey = UserValue = NULL;
+ }
db_close(db);
LOG_LOGD("sync-manager DB close");
return UpdateSyncJobToDB(SvcAppId, UserId, AppStatus, JobId, SyncType, AccountId, JobName, Interval, Option, UserData);
sqlite3_reset(stmt);
sqlite3_finalize(stmt);
sqlite3_free(search_query);
+ if (user_data_available && UserKey && UserValue) {
+ free(UserKey);
+ free(UserValue);
+ UserKey = UserValue = NULL;
+ }
db_close(db);
LOG_LOGD("sync-manager DB close");
return -1;
LOG_LOGD("Insert sync job fail : invalid service-app-id");
}
+ if (user_data_available && UserKey && UserValue) {
+ free(UserKey);
+ free(UserValue);
+ UserKey = UserValue = NULL;
+ }
+
db_close(db);
LOG_LOGD("sync-manager DB close");
int
RepositoryEngine::UpdateSyncJobToDB(const char *SvcAppId, int UserId, const char *AppStatus, int JobId, const char *SyncType,
- int AccountId, const char *JobName, int Interval, int Option, bundle *UserData) {
+ int AccountId, const char *JobName, int Interval, int Option, bundle *UserData) {
+ bool user_data_available = false;
+
sqlite3 *db = NULL;
db = db_open();
if (!db) {
char noRetry[2] = { 0, };
snprintf(noRetry, sizeof(noRetry) - 1, "%d", Option & SYNC_OPTION_NO_RETRY);
- UserKey = const_cast<char *>(std::string().c_str());
- UserValue = const_cast<char *>(std::string().c_str());
-
- if (UserData)
+ if (UserData) {
bundle_iterate(UserData, bundIterCb, NULL);
+ } else {
+ UserKey = strdup("");
+ UserValue = strdup("");
+ user_data_available = true;
+ }
char *update_query = NULL;
LOG_LOGD("prepare : update query[%s] ret[%d] err_msg[%s]", update_query, ret, sqlite3_errmsg(db));
sqlite3_finalize(stmt);
sqlite3_free(update_query);
+ if (user_data_available && UserKey && UserValue) {
+ free(UserKey);
+ free(UserValue);
+ UserKey = UserValue = NULL;
+ }
db_close(db);
LOG_LOGD("sync-manager DB close");
return -1;
sqlite3_reset(stmt);
sqlite3_finalize(stmt);
sqlite3_free(update_query);
+ if (user_data_available && UserKey && UserValue) {
+ free(UserKey);
+ free(UserValue);
+ UserKey = UserValue = NULL;
+ }
db_close(db);
LOG_LOGD("sync-manager DB close");
return -1;
LOG_LOGD("update sync job fail : invalid service-app-id");
}
+ if (user_data_available && UserKey && UserValue) {
+ free(UserKey);
+ free(UserValue);
+ UserKey = UserValue = NULL;
+ }
+
db_close(db);
LOG_LOGD("sync-manager DB close");