diff options
author | Bart Polot <bart@net.in.tum.de> | 2013-04-22 14:42:20 +0000 |
---|---|---|
committer | Bart Polot <bart@net.in.tum.de> | 2013-04-22 14:42:20 +0000 |
commit | e4048e9edf0dafbac032d36bbaf5037fec91fbf3 (patch) | |
tree | 81a410307e2aeb3bb76222b4f5c42c726cfdf397 /src/util | |
parent | 08fd3307bed55f72f646fd0b5aeaaf77881e3889 (diff) | |
download | gnunet-e4048e9edf0dafbac032d36bbaf5037fec91fbf3.tar.gz gnunet-e4048e9edf0dafbac032d36bbaf5037fec91fbf3.zip |
Allow callback to stop a DISK_scan with no error, similar to other er APIs
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/disk.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/util/disk.c b/src/util/disk.c index bef35c899..ccd930907 100644 --- a/src/util/disk.c +++ b/src/util/disk.c | |||
@@ -1184,6 +1184,7 @@ GNUNET_DISK_directory_scan (const char *dirName, | |||
1184 | struct dirent *finfo; | 1184 | struct dirent *finfo; |
1185 | struct stat istat; | 1185 | struct stat istat; |
1186 | int count = 0; | 1186 | int count = 0; |
1187 | int ret; | ||
1187 | char *name; | 1188 | char *name; |
1188 | char *dname; | 1189 | char *dname; |
1189 | unsigned int name_len; | 1190 | unsigned int name_len; |
@@ -1241,11 +1242,14 @@ GNUNET_DISK_directory_scan (const char *dirName, | |||
1241 | GNUNET_snprintf (name, n_size, "%s%s%s", dname, | 1242 | GNUNET_snprintf (name, n_size, "%s%s%s", dname, |
1242 | (strcmp (dname, DIR_SEPARATOR_STR) == | 1243 | (strcmp (dname, DIR_SEPARATOR_STR) == |
1243 | 0) ? "" : DIR_SEPARATOR_STR, finfo->d_name); | 1244 | 0) ? "" : DIR_SEPARATOR_STR, finfo->d_name); |
1244 | if (GNUNET_OK != callback (callback_cls, name)) | 1245 | ret = callback (callback_cls, name); |
1246 | if (GNUNET_OK != ret) | ||
1245 | { | 1247 | { |
1246 | CLOSEDIR (dinfo); | 1248 | CLOSEDIR (dinfo); |
1247 | GNUNET_free (name); | 1249 | GNUNET_free (name); |
1248 | GNUNET_free (dname); | 1250 | GNUNET_free (dname); |
1251 | if (GNUNET_NO == ret) | ||
1252 | return count; | ||
1249 | return GNUNET_SYSERR; | 1253 | return GNUNET_SYSERR; |
1250 | } | 1254 | } |
1251 | } | 1255 | } |