diff options
author | Lennart Poettering <lennart@poettering.net> | 2003-08-29 01:21:11 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2003-08-29 01:21:11 +0000 |
commit | db3b96fc0014a5e860df1efc729b38d629662826 (patch) | |
tree | 9076f5b7c6a14c6239b562d442cdf46d755c9ff0 /src/diff.c | |
parent | 0d7460e9592c501b48fe9ab05d8e7fd52cb5bb4d (diff) |
many fixes
--cleanup implemented
git-svn-id: file:///home/lennart/svn/public/syrep/trunk@13 07ea20a6-d2c5-0310-9e02-9ef735347d72
Diffstat (limited to 'src/diff.c')
-rw-r--r-- | src/diff.c | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -182,10 +182,13 @@ static int enumerate(DB *ddb, struct syrep_db_context *c1, struct syrep_db_conte struct syrep_id *id = (struct syrep_id*) key.data; struct syrep_meta *meta = (struct syrep_meta*) data.data; - - assert(id && meta); + if (interrupted) { + fprintf(stderr, "Canceled.\n"); + goto finish; + } + if (meta->last_seen != c1->version) continue; @@ -344,6 +347,11 @@ int diff_foreach(DB *ddb, int (*cb)(DB *ddb, struct syrep_name *name, struct dif struct syrep_name *name = (struct syrep_name*) key.data; struct diff_entry *de = (struct diff_entry*) data.data; + if (interrupted) { + fprintf(stderr, "Canceled.\n"); + goto finish; + } + if ((t = cb(ddb, name, de, p)) < 0) { r = t; goto finish; |