aboutsummaryrefslogtreecommitdiff
path: root/src/fs/fs_api.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-01-11 21:11:51 +0000
committerChristian Grothoff <christian@grothoff.org>2012-01-11 21:11:51 +0000
commit5826f9d6280175acde486a1b02c93197a49396bd (patch)
tree57bab01eff235ae52062b662220a01c9dfad6142 /src/fs/fs_api.c
parent354a420bc1ddcc46b837a4e99e874195a53b7d57 (diff)
downloadgnunet-5826f9d6280175acde486a1b02c93197a49396bd.tar.gz
gnunet-5826f9d6280175acde486a1b02c93197a49396bd.zip
fixing bug to ensure that we properly descend into deep directories for the various publish start/stop/suspend/resume event callbacks
Diffstat (limited to 'src/fs/fs_api.c')
-rw-r--r--src/fs/fs_api.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/fs/fs_api.c b/src/fs/fs_api.c
index 2b1e51031..3c0d5bc72 100644
--- a/src/fs/fs_api.c
+++ b/src/fs/fs_api.c
@@ -1243,13 +1243,24 @@ fip_signal_resume (void *cls, struct GNUNET_FS_FileInformation *fi,
1243 struct GNUNET_FS_BlockOptions *bo, int *do_index, 1243 struct GNUNET_FS_BlockOptions *bo, int *do_index,
1244 void **client_info) 1244 void **client_info)
1245{ 1245{
1246 struct GNUNET_FS_PublishContext *sc = cls; 1246 struct GNUNET_FS_PublishContext *pc = cls;
1247 struct GNUNET_FS_ProgressInfo pi; 1247 struct GNUNET_FS_ProgressInfo pi;
1248 1248
1249 if (GNUNET_YES == pc->skip_next_fi_callback)
1250 {
1251 pc->skip_next_fi_callback = GNUNET_NO;
1252 return GNUNET_OK;
1253 }
1249 pi.status = GNUNET_FS_STATUS_PUBLISH_RESUME; 1254 pi.status = GNUNET_FS_STATUS_PUBLISH_RESUME;
1250 pi.value.publish.specifics.resume.message = sc->fi->emsg; 1255 pi.value.publish.specifics.resume.message = pc->fi->emsg;
1251 pi.value.publish.specifics.resume.chk_uri = sc->fi->chk_uri; 1256 pi.value.publish.specifics.resume.chk_uri = pc->fi->chk_uri;
1252 *client_info = GNUNET_FS_publish_make_status_ (&pi, sc, fi, 0); 1257 *client_info = GNUNET_FS_publish_make_status_ (&pi, pc, fi, 0);
1258 if (GNUNET_YES == GNUNET_FS_meta_data_test_for_directory (meta))
1259 {
1260 /* process entries in directory */
1261 pc->skip_next_fi_callback = GNUNET_YES;
1262 GNUNET_FS_file_information_inspect (fi, &fip_signal_resume, pc);
1263 }
1253 return GNUNET_OK; 1264 return GNUNET_OK;
1254} 1265}
1255 1266