[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r5008 - GNUnet/src/applications/fs/uritrack
From: |
gnunet |
Subject: |
[GNUnet-SVN] r5008 - GNUnet/src/applications/fs/uritrack |
Date: |
Sun, 10 Jun 2007 16:43:31 -0600 (MDT) |
Author: grothoff
Date: 2007-06-10 16:43:30 -0600 (Sun, 10 Jun 2007)
New Revision: 5008
Modified:
GNUnet/src/applications/fs/uritrack/file_info.c
Log:
track only once
Modified: GNUnet/src/applications/fs/uritrack/file_info.c
===================================================================
--- GNUnet/src/applications/fs/uritrack/file_info.c 2007-06-10 22:31:58 UTC
(rev 5007)
+++ GNUnet/src/applications/fs/uritrack/file_info.c 2007-06-10 22:43:30 UTC
(rev 5008)
@@ -137,6 +137,24 @@
}
}
+struct CheckPresentClosure {
+ const ECRS_FileInfo * fi;
+ int present;
+};
+
+static int checkPresent(const ECRS_FileInfo * fi,
+ const HashCode512 * key,
+ int isRoot,
+ void * closure) {
+ struct CheckPresentClosure * cpc = closure;
+ if (ECRS_equalsUri(fi->uri,
+ cpc->fi->uri)) {
+ cpc->present = 1;
+ return SYSERR;
+ }
+ return OK;
+}
+
/**
* Makes a URI available for directory building.
*/
@@ -149,9 +167,19 @@
char * suri;
int fh;
char * fn;
+ struct CheckPresentClosure cpc;
if (NO == URITRACK_trackStatus(ectx, cfg))
return;
+ cpc.present = 0;
+ cpc.fi = fi;
+ URITRACK_listURIs(ectx,
+ cfg,
+ NO,
+ &checkPresent,
+ &cpc);
+ if (cpc.present == 1)
+ return;
size = ECRS_sizeofMetaData(fi->meta,
ECRS_SERIALIZE_FULL | ECRS_SERIALIZE_NO_COMPRESS);
data = MALLOC(size);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r5008 - GNUnet/src/applications/fs/uritrack,
gnunet <=