- add repodata_empty() function
authorMichael Schroeder <mls@suse.de>
Tue, 1 Mar 2011 16:10:30 +0000 (17:10 +0100)
committerMichael Schroeder <mls@suse.de>
Tue, 1 Mar 2011 16:10:30 +0000 (17:10 +0100)
src/repo.c
src/repodata.c
src/repodata.h

index fa7f744..265f880 100644 (file)
@@ -1032,14 +1032,7 @@ repo_add_repodata(Repo *repo, int flags)
            /* re-init */
            /* hack: we mis-use REPO_REUSE_REPODATA here */
            if (!(flags & REPO_REUSE_REPODATA))
-             {
-               /* save state and loadcallback */
-               void (*loadcallback)(Repodata *) = data->loadcallback;
-               repodata_freedata(data);
-               repodata_initdata(data, repo, (flags & REPO_LOCALPOOL) ? 1 : 0);
-               data->state = REPODATA_LOADING;
-               data->loadcallback = loadcallback;
-             }
+             repodata_empty(data, (flags & REPO_LOCALPOOL) ? 1 : 0);
            return data;
          }
       return 0;        /* must not create a new repodata! */
index e1cbb99..958152d 100644 (file)
@@ -120,6 +120,17 @@ repodata_free(Repodata *data)
   repo->nrepodata--;
 }
 
+void
+repodata_empty(Repodata *data, int localpool)
+{
+  void (*loadcallback)(Repodata *) = data->loadcallback;
+  int state = data->state;
+  repodata_freedata(data);
+  repodata_initdata(data, data->repo, localpool);
+  data->state = state;
+  data->loadcallback = loadcallback;
+}
+
 
 /***************************************************************
  * key pool management
index 1b7ebe0..589edd7 100644 (file)
@@ -120,6 +120,7 @@ void repodata_freedata(Repodata *data);
 
 Repodata *repodata_create(struct _Repo *repo, int localpool);
 void repodata_free(Repodata *data);
+void repodata_empty(Repodata *data, int localpool);
 
 
 /*