Code refactoring
authorTomas Mlcoch <tmlcoch@redhat.com>
Mon, 9 Sep 2013 08:27:22 +0000 (10:27 +0200)
committerTomas Mlcoch <tmlcoch@redhat.com>
Mon, 9 Sep 2013 08:27:22 +0000 (10:27 +0200)
src/cmd_parser.c
src/repomd.c
src/sqlite.c
src/xml_parser_other.c
src/xml_parser_primary.c

index e9692b4d367dc91ba40fb12f1444afd5e10f258e..944c1e930ea27b11e117029d39a6a4a8b6460070 100644 (file)
@@ -266,10 +266,10 @@ check_arguments(struct CmdOptions *options,
             g_warning("pkglist file \"%s\" doesn't exists", options->pkglist);
         } else {
             char *content = NULL;
-            GError *err = NULL;
-            if (!g_file_get_contents(options->pkglist, &content, NULL, &err)) {
-                g_warning("Error while reading pkglist file: %s", err->message);
-                g_error_free(err);
+            GError *tmp_err = NULL;
+            if (!g_file_get_contents(options->pkglist, &content, NULL, &tmp_err)) {
+                g_warning("Error while reading pkglist file: %s", tmp_err->message);
+                g_error_free(tmp_err);
                 g_free(content);
             } else {
                 x = 0;
index 9129563d95c23d362490541d4e19db2ee347dee8..31bd58109312d4cc6f2c09d7dc697eb67e4f36a8 100644 (file)
@@ -507,6 +507,8 @@ cr_repomd_record_rename_file(cr_RepomdRecord *md, GError **err)
         return CRE_BADARG;
     }
 
+    location_filename = md->location_real;
+
     x = strlen(md->location_real);
     for (; x > 0; x--) {
         if (md->location_real[x] == '/') {
@@ -516,6 +518,10 @@ cr_repomd_record_rename_file(cr_RepomdRecord *md, GError **err)
         }
     }
 
+    if (!location_prefix)
+        // In case that the location_real doesn't contain '/'
+        location_prefix = g_strdup("");
+
     // Check if the rename is necessary
     // During update with --keep-all-metadata some files (groupfile,
     // updateinfo, ..) could already have checksum in filenames
index b043740fa6acec5f268731e50c20ef8b466e52e6..586807155aa6392dc62aec8e490cb8a0245f65f8 100644 (file)
@@ -515,9 +515,18 @@ cr_db_dbinfo_update(cr_SqliteDb *sqlitedb, const char *checksum, GError **err)
     /* Perform insert */
     sqlite3_bind_int(handle, 1, CR_DB_CACHE_DBVERSION);
     sqlite3_bind_text(handle, 2, checksum, -1, SQLITE_STATIC);
-    sqlite3_step(handle);
-    rc = sqlite3_finalize(handle);
 
+    rc = sqlite3_step(handle);
+    if (rc != SQLITE_DONE) {
+        g_set_error(err, CR_DB_ERROR, CRE_DB,
+                      "Cannot update dbinfo table: %s",
+                       sqlite3_errmsg (sqlitedb->db));
+        g_critical("%s: Cannot update dbinfo table: %s",
+                    __func__, sqlite3_errmsg(sqlitedb->db));
+        return CRE_DB;
+    }
+
+    rc = sqlite3_finalize(handle);
     if (rc != SQLITE_OK) {
         g_set_error(err, CR_DB_ERROR, CRE_DB,
                       "Cannot update dbinfo table: %s",
index 065127013101be383976260f966fa38c39e6f12c..af560a288a69b1a30880896c56087e8818b779b6 100644 (file)
@@ -176,7 +176,7 @@ cr_start_handler(void *pdata, const char *element, const char **attr)
                                             cr_find_attr("rel", attr));
         break;
 
-    case STATE_CHANGELOG:
+    case STATE_CHANGELOG: {
         assert(pd->pkg);
         assert(!pd->changelog);
 
@@ -200,6 +200,7 @@ cr_start_handler(void *pdata, const char *element, const char **attr)
         pd->changelog = changelog;
 
         break;
+    }
 
     default:
         break;
index 144dcf10da858bd8c6e026e56e5aff4b6466fd3d..9f964eb6bcdc487638b9bbe7f16da51ecef4b262 100644 (file)
@@ -324,7 +324,7 @@ cr_start_handler(void *pdata, const char *element, const char **attr)
     case STATE_RPM_ENTRY_PROVIDES:
     case STATE_RPM_ENTRY_REQUIRES:
     case STATE_RPM_ENTRY_CONFLICTS:
-    case STATE_RPM_ENTRY_OBSOLETES:
+    case STATE_RPM_ENTRY_OBSOLETES: {
         assert(pd->pkg);
 
         cr_Dependency *dep = cr_dependency_new();
@@ -382,6 +382,7 @@ cr_start_handler(void *pdata, const char *element, const char **attr)
         }
 
         break;
+    }
 
     case STATE_FILE:
         assert(pd->pkg);