- yet another incompatible change: as everybody seems to use repo_write_stdkeyfilter...
authorMichael Schroeder <mls@suse.de>
Fri, 2 Mar 2012 13:17:34 +0000 (14:17 +0100)
committerMichael Schroeder <mls@suse.de>
Fri, 2 Mar 2012 13:17:34 +0000 (14:17 +0100)
bindings/solv.i
examples/solv.c
src/libsolv.ver
src/repo_write.c
src/repo_write.h
tools/common_write.c

index fdf548d..3bc6593 100644 (file)
@@ -1169,13 +1169,13 @@ typedef struct {
     return repo_lookup_num($self, entry, keyname, notfound);
   }
   void write(FILE *fp) {
-    repo_write($self, fp, repo_write_stdkeyfilter, 0, 0);
+    repo_write($self, fp);
   }
   # HACK, remove if no longer needed!
   bool write_first_repodata(FILE *fp) {
     int oldnrepodata = $self->nrepodata;
     $self->nrepodata = oldnrepodata > 2 ? 2 : oldnrepodata;
-    repo_write($self, fp, repo_write_stdkeyfilter, 0, 0);
+    repo_write($self, fp);
     $self->nrepodata = oldnrepodata;
     return 1;
   }
@@ -2438,7 +2438,7 @@ rb_eval_string(
     repodata_create_stubs(repo_id2repodata($self->repo, $self->id));
   }
   void write(FILE *fp) {
-    repodata_write(repo_id2repodata($self->repo, $self->id), fp, repo_write_stdkeyfilter, 0);
+    repodata_write(repo_id2repodata($self->repo, $self->id), fp);
   }
   bool add_solv(FILE *fp, int flags = 0) {
     Repodata *data = repo_id2repodata($self->repo, $self->id);
index 8ea27d0..455eae8 100644 (file)
@@ -1114,14 +1114,14 @@ writecachedrepo(Repo *repo, Repodata *info, const char *repoext, unsigned char *
     onepiece = 0;
 
   if (!info)
-    repo_write(repo, fp, repo_write_stdkeyfilter, 0, 0);
+    repo_write(repo, fp);
   else if (repoext)
-    repodata_write(info, fp, repo_write_stdkeyfilter, 0);
+    repodata_write(info, fp);
   else
     {
       int oldnrepodata = repo->nrepodata;
       repo->nrepodata = oldnrepodata > 2 ? 2 : oldnrepodata;   /* XXX: do this right */
-      repo_write(repo, fp, repo_write_stdkeyfilter, 0, 0);
+      repo_write(repo, fp);
       repo->nrepodata = oldnrepodata;
       onepiece = 0;
     }
index 9a200a5..0b852da 100644 (file)
@@ -149,6 +149,7 @@ SOLV_1.0 {
                repo_set_str;
                repo_sidedata_create;
                repo_write;
+               repo_write_filtered;
                repo_write_stdkeyfilter;
                repodata_add_dirnumnum;
                repodata_add_dirstr;
@@ -206,6 +207,7 @@ SOLV_1.0 {
                repodata_stringify;
                repodata_swap_attrs;
                repodata_write;
+               repodata_write_filtered;
                repopagestore_compress_page;
                solv_bin2hex;
                solv_calloc;
index 7675f44..ff4fac9 100644 (file)
@@ -975,7 +975,7 @@ repo_write_stdkeyfilter(Repo *repo, Repokey *key, void *kfdata)
  * 5) write everything to disk
  */
 int
-repo_write(Repo *repo, FILE *fp, int (*keyfilter)(Repo *repo, Repokey *key, void *kfdata), void *kfdata, Queue *keyq)
+repo_write_filtered(Repo *repo, FILE *fp, int (*keyfilter)(Repo *repo, Repokey *key, void *kfdata), void *kfdata, Queue *keyq)
 {
   Pool *pool = repo->pool;
   int i, j, n;
@@ -1936,12 +1936,24 @@ repodata_write_keyfilter(Repo *repo, Repokey *key, void *kfdata)
 }
 
 int
-repodata_write(Repodata *data, FILE *fp, int (*keyfilter)(Repo *repo, Repokey *key, void *kfdata), void *kfdata)
+repodata_write_filtered(Repodata *data, FILE *fp, int (*keyfilter)(Repo *repo, Repokey *key, void *kfdata), void *kfdata, Queue *keyq)
 {
   struct repodata_write_data wd;
 
   wd.keyfilter = keyfilter;
   wd.kfdata = kfdata;
   wd.repodataid = data->repodataid;
-  return repo_write(data->repo, fp, repodata_write_keyfilter, &wd, 0);
+  return repo_write_filtered(data->repo, fp, repodata_write_keyfilter, &wd, keyq);
+}
+
+int
+repodata_write(Repodata *data, FILE *fp)
+{
+  return repodata_write_filtered(data, fp, repo_write_stdkeyfilter, 0, 0);
+}
+
+int
+repo_write(Repo *repo, FILE *fp)
+{
+  return repo_write_filtered(repo, fp, repo_write_stdkeyfilter, 0, 0);
 }
index 756a41e..46e1d4a 100644 (file)
 #include "repo.h"
 #include "queue.h"
 
-extern int repo_write(Repo *repo, FILE *fp, int (*keyfilter)(Repo *repo, Repokey *key, void *kfdata), void *kfdata, Queue *keyq);
-extern int repo_write_stdkeyfilter(Repo *repo, Repokey *key, void *kfdata);
+extern int repo_write(Repo *repo, FILE *fp);
+extern int repo_write_filtered(Repo *repo, FILE *fp, int (*keyfilter)(Repo *repo, Repokey *key, void *kfdata), void *kfdata, Queue *keyq);
+
+extern int repodata_write(Repodata *data , FILE *fp);
+extern int repodata_write_filtered(Repodata *data , FILE *fp, int (*keyfilter)(Repo *repo, Repokey *key, void *kfdata), void *kfdata, Queue *keyq);
 
-extern int repodata_write(Repodata *data , FILE *fp, int (*keyfilter)(Repo *repo, Repokey *key, void *kfdata), void *kfdata);
+extern int repo_write_stdkeyfilter(Repo *repo, Repokey *key, void *kfdata);
 
 #endif
index 9f7e627..3ea6a5b 100644 (file)
@@ -180,7 +180,7 @@ write_info(Repo *repo, FILE *fp, int (*keyfilter)(Repo *repo, Repokey *key, void
   Queue keyq;
 
   queue_init(&keyq);
-  repo_write(repo, fp, keyfilter, kfdata, &keyq);
+  repo_write_filtered(repo, fp, keyfilter, kfdata, &keyq);
   h = repodata_new_handle(info);
   if (keyq.count)
     repodata_set_idarray(info, h, REPOSITORY_KEYS, &keyq);
@@ -298,7 +298,7 @@ tool_write(Repo *repo, const char *basename, const char *attrname)
       kd.languages = languages;
       kd.nlanguages = nlanguages;
       repodata_internalize(info);
-      repo_write(repo, fp, keyfilter_other, &kd, 0);
+      repo_write_filtered(repo, fp, keyfilter_other, &kd, 0);
       fclose(fp);
       for (i = 0; i < nlanguages; i++)
        free(languages[i]);
@@ -316,7 +316,7 @@ tool_write(Repo *repo, const char *basename, const char *attrname)
       kd.haveexternal = 1;
     }
   repodata_internalize(info);
-  repo_write(repo, stdout, keyfilter_solv, &kd, 0);
+  repo_write_filtered(repo, stdout, keyfilter_solv, &kd, 0);
   repodata_free(info);
   return 0;
 }