[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r13902 - gnunet/src/fs
From: |
gnunet |
Subject: |
[GNUnet-SVN] r13902 - gnunet/src/fs |
Date: |
Tue, 14 Dec 2010 18:40:19 +0100 |
Author: grothoff
Date: 2010-12-14 18:40:19 +0100 (Tue, 14 Dec 2010)
New Revision: 13902
Modified:
gnunet/src/fs/fs_download.c
gnunet/src/fs/fs_tree.c
Log:
allow files of size 0
Modified: gnunet/src/fs/fs_download.c
===================================================================
--- gnunet/src/fs/fs_download.c 2010-12-14 15:00:26 UTC (rev 13901)
+++ gnunet/src/fs/fs_download.c 2010-12-14 17:40:19 UTC (rev 13902)
@@ -1839,9 +1839,35 @@
GNUNET_FS_download_start_task_ (void *cls,
const struct GNUNET_SCHEDULER_TaskContext *tc)
{
- struct GNUNET_FS_DownloadContext *dc = cls;
+ struct GNUNET_FS_DownloadContext *dc = cls;
+ struct GNUNET_FS_ProgressInfo pi;
+ struct GNUNET_DISK_FileHandle *fh;
dc->start_task = GNUNET_SCHEDULER_NO_TASK;
+ if (dc->length == 0)
+ {
+ /* no bytes required! */
+ if (dc->filename != NULL)
+ {
+ fh = GNUNET_DISK_file_open (dc->filename != NULL
+ ? dc->filename
+ : dc->temp_filename,
+ GNUNET_DISK_OPEN_READWRITE |
+ GNUNET_DISK_OPEN_CREATE,
+ GNUNET_DISK_PERM_USER_READ |
+ GNUNET_DISK_PERM_USER_WRITE |
+ GNUNET_DISK_PERM_GROUP_READ |
+ GNUNET_DISK_PERM_OTHER_READ);
+ GNUNET_DISK_file_close (fh);
+ }
+
+ pi.status = GNUNET_FS_STATUS_DOWNLOAD_COMPLETED;
+ GNUNET_FS_download_make_status_ (&pi, dc);
+ GNUNET_FS_download_sync_ (dc);
+ if (dc->parent != NULL)
+ check_completed (dc->parent);
+ return;
+ }
schedule_block_download (dc,
(dc->uri->type == chk)
? &dc->uri->data.chk.chk
Modified: gnunet/src/fs/fs_tree.c
===================================================================
--- gnunet/src/fs/fs_tree.c 2010-12-14 15:00:26 UTC (rev 13901)
+++ gnunet/src/fs/fs_tree.c 2010-12-14 17:40:19 UTC (rev 13902)
@@ -173,7 +173,6 @@
{
struct GNUNET_FS_TreeEncoder *te;
- GNUNET_assert (size > 0);
te = GNUNET_malloc (sizeof (struct GNUNET_FS_TreeEncoder));
te->h = h;
te->size = size;
@@ -253,7 +252,7 @@
uint64_t epos;
unsigned int chks;
- GNUNET_assert (offset < fsize);
+ GNUNET_assert (offset <= fsize);
if (depth == totaldepth)
{
ret = DBLOCK_SIZE;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r13902 - gnunet/src/fs,
gnunet <=