aboutsummaryrefslogtreecommitdiff
path: root/src/gnunet_chat_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gnunet_chat_file.c')
-rw-r--r--src/gnunet_chat_file.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/gnunet_chat_file.c b/src/gnunet_chat_file.c
index 9e52ccf..e661d7e 100644
--- a/src/gnunet_chat_file.c
+++ b/src/gnunet_chat_file.c
@@ -61,6 +61,7 @@ file_create_from_message (struct GNUNET_CHAT_Handle *handle,
61 file->unindex_head = NULL; 61 file->unindex_head = NULL;
62 file->unindex_tail = NULL; 62 file->unindex_tail = NULL;
63 63
64 file->status = 0;
64 file->preview = NULL; 65 file->preview = NULL;
65 66
66 file->user_pointer = NULL; 67 file->user_pointer = NULL;
@@ -104,6 +105,7 @@ file_create_from_disk (struct GNUNET_CHAT_Handle *handle,
104 file->unindex_head = NULL; 105 file->unindex_head = NULL;
105 file->unindex_tail = NULL; 106 file->unindex_tail = NULL;
106 107
108 file->status = 0;
107 file->preview = NULL; 109 file->preview = NULL;
108 110
109 file->user_pointer = NULL; 111 file->user_pointer = NULL;
@@ -242,6 +244,8 @@ file_update_upload (struct GNUNET_CHAT_File *file,
242{ 244{
243 GNUNET_assert(file); 245 GNUNET_assert(file);
244 246
247 file->status |= GNUNET_CHAT_FILE_STATUS_PUBLISH;
248
245 struct GNUNET_CHAT_FileUpload *upload = file->upload_head; 249 struct GNUNET_CHAT_FileUpload *upload = file->upload_head;
246 250
247 while (upload) 251 while (upload)
@@ -278,6 +282,10 @@ file_update_upload (struct GNUNET_CHAT_File *file,
278 } 282 }
279 283
280 GNUNET_free(msg.body.file.uri); 284 GNUNET_free(msg.body.file.uri);
285
286 file->status &= (
287 GNUNET_CHAT_FILE_STATUS_MASK ^ GNUNET_CHAT_FILE_STATUS_PUBLISH
288 );
281} 289}
282 290
283void 291void
@@ -287,6 +295,8 @@ file_update_download (struct GNUNET_CHAT_File *file,
287{ 295{
288 GNUNET_assert(file); 296 GNUNET_assert(file);
289 297
298 file->status |= GNUNET_CHAT_FILE_STATUS_DOWNLOAD;
299
290 struct GNUNET_CHAT_FileDownload *download = file->download_head; 300 struct GNUNET_CHAT_FileDownload *download = file->download_head;
291 301
292 while (download) 302 while (download)
@@ -312,6 +322,10 @@ file_update_download (struct GNUNET_CHAT_File *file,
312 322
313 GNUNET_free(download); 323 GNUNET_free(download);
314 } 324 }
325
326 file->status &= (
327 GNUNET_CHAT_FILE_STATUS_MASK ^ GNUNET_CHAT_FILE_STATUS_DOWNLOAD
328 );
315} 329}
316 330
317void 331void
@@ -321,6 +335,8 @@ file_update_unindex (struct GNUNET_CHAT_File *file,
321{ 335{
322 GNUNET_assert(file); 336 GNUNET_assert(file);
323 337
338 file->status |= GNUNET_CHAT_FILE_STATUS_UNINDEX;
339
324 struct GNUNET_CHAT_FileUnindex *unindex = file->unindex_head; 340 struct GNUNET_CHAT_FileUnindex *unindex = file->unindex_head;
325 341
326 while (unindex) 342 while (unindex)
@@ -346,4 +362,8 @@ file_update_unindex (struct GNUNET_CHAT_File *file,
346 362
347 GNUNET_free(unindex); 363 GNUNET_free(unindex);
348 } 364 }
365
366 file->status &= (
367 GNUNET_CHAT_FILE_STATUS_MASK ^ GNUNET_CHAT_FILE_STATUS_UNINDEX
368 );
349} 369}