From: Bart Polot Date: Mon, 22 Apr 2013 15:20:46 +0000 (+0000) Subject: - add disk scan X-Git-Tag: initial-import-from-subversion-38251~9176 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=e6a98706bcdbe18ca3432dbc234c17ff893e7097;p=oweals%2Fgnunet.git - add disk scan --- 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,