gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r10749 - in gnunet: . src/fs


From: gnunet
Subject: [GNUnet-SVN] r10749 - in gnunet: . src/fs
Date: Fri, 2 Apr 2010 13:48:33 +0200

Author: grothoff
Date: 2010-04-02 13:48:33 +0200 (Fri, 02 Apr 2010)
New Revision: 10749

Modified:
   gnunet/TODO
   gnunet/src/fs/fs_file_information.c
   gnunet/src/fs/gnunet-publish.c
Log:
fix

Modified: gnunet/TODO
===================================================================
--- gnunet/TODO 2010-04-02 08:18:58 UTC (rev 10748)
+++ gnunet/TODO 2010-04-02 11:48:33 UTC (rev 10749)
@@ -26,7 +26,8 @@
   - utilization can (easily, restart?) go out of control (very large), causing
     content expiration job to go crazy and delete everything!
 * FS: [CG]
-  - gnunet-publish seg faults if given a directory (!)
+  - gnunet-publish uses 'NULL' for the file name when
+    publishing a directory (!)
   - on some systems, keyword search does not find locally published content
     (need testcase of command-line tools! - also good to cover getopt API!)
     [could be related to datastore issue above!]

Modified: gnunet/src/fs/fs_file_information.c
===================================================================
--- gnunet/src/fs/fs_file_information.c 2010-04-02 08:18:58 UTC (rev 10748)
+++ gnunet/src/fs/fs_file_information.c 2010-04-02 11:48:33 UTC (rev 10749)
@@ -752,8 +752,7 @@
 {
   struct GNUNET_FS_FileInformation *pos;
 
-  if (dir->is_directory)
-    {
+  if (GNUNET_OK !=
       proc (proc_cls, 
            dir,
            dir->data.dir.dir_size,
@@ -762,10 +761,14 @@
            &dir->anonymity,
            &dir->priority,
            &dir->expirationTime,
-           &dir->client_info);
-      pos = dir->data.dir.entries;
-      while (pos != NULL)
-       {
+           &dir->client_info))
+    return;
+  if (! dir->is_directory)
+    return;
+  pos = dir->data.dir.entries;
+  while (pos != NULL)
+    {
+      if (GNUNET_OK != 
          proc (proc_cls, 
                pos,
                (pos->is_directory) ? pos->data.dir.dir_size : 
pos->data.file.file_size,
@@ -774,22 +777,10 @@
                &pos->anonymity,
                &pos->priority,
                &pos->expirationTime,
-               &pos->client_info);
-         pos = pos->next;
-       }
+               &pos->client_info))
+       break;
+      pos = pos->next;
     }
-  else
-    {
-      proc (proc_cls, 
-           dir,
-           dir->data.file.file_size,
-           dir->meta,
-           &dir->keywords,
-           &dir->anonymity,
-           &dir->priority,
-           &dir->expirationTime,
-           &dir->client_info);
-    }
 }
 
 

Modified: gnunet/src/fs/gnunet-publish.c
===================================================================
--- gnunet/src/fs/gnunet-publish.c      2010-04-02 08:18:58 UTC (rev 10748)
+++ gnunet/src/fs/gnunet-publish.c      2010-04-02 11:48:33 UTC (rev 10749)
@@ -275,6 +275,8 @@
   char *fs;
   struct GNUNET_FS_Uri *new_uri;
 
+  if (cls == fi)
+    return GNUNET_OK;
   if (NULL != topKeywords)
     {
       if (*uri != NULL)
@@ -320,7 +322,7 @@
   if (GNUNET_YES == GNUNET_FS_meta_data_test_for_directory (m))
     GNUNET_FS_file_information_inspect (fi,
                                        &publish_inspector,
-                                       NULL);
+                                       fi);
   return GNUNET_OK;
 }
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]