From e6a98706bcdbe18ca3432dbc234c17ff893e7097 Mon Sep 17 00:00:00 2001 From: Bart Polot Date: Mon, 22 Apr 2013 15:20:46 +0000 Subject: - add disk scan --- src/regex/gnunet-daemon-regexprofiler.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/regex/gnunet-daemon-regexprofiler.c') diff --git a/src/regex/gnunet-daemon-regexprofiler.c b/src/regex/gnunet-daemon-regexprofiler.c index b7054e2c7..4fb620b57 100644 --- a/src/regex/gnunet-daemon-regexprofiler.c +++ b/src/regex/gnunet-daemon-regexprofiler.c @@ -267,6 +267,29 @@ load_regexes (const char *filename, char **rx) return rx_cnt; } +/** + * Scan through the policy_dir looking for the n-th filename. + * + * @param cls Closure (target number n). + * @param filename complete filename (absolute path). + * @return GNUNET_OK to continue to iterate, + * GNUNET_NO to stop when found + */ +static int +scan (void *cls, const char *filename) +{ + long n = (long) cls; + static long c = 0; + + if (c == n) + { + policy_filename = GNUNET_strdup (filename); + return GNUNET_NO; + } + c++; + return GNUNET_OK; +} + /** * @brief Main function that will be run by the scheduler. @@ -363,6 +386,7 @@ run (void *cls, char *const *args GNUNET_UNUSED, } /* Read regexes from policy files */ + GNUNET_assert (-1 != GNUNET_DISK_directory_scan (policy_dir, &scan, peer_id)); if (0 == load_regexes (policy_filename, ®ex)) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, -- cgit v1.2.3