Index: src_plugins/fp_wget/Makefile =================================================================== --- src_plugins/fp_wget/Makefile (revision 1428) +++ src_plugins/fp_wget/Makefile (revision 1429) @@ -1,2 +1,2 @@ -CFLAGS = -Wall -g +CFLAGS = -Wall -g -I../../src tester: tester.o gedasymbols.o fp_wget.o Index: src_plugins/fp_wget/gedasymbols.c =================================================================== --- src_plugins/fp_wget/gedasymbols.c (revision 1428) +++ src_plugins/fp_wget/gedasymbols.c (revision 1429) @@ -2,10 +2,13 @@ #include #include #include "fp_wget.h" +#include "gedasymbols.h" +#define REQUIRE_PATH_PREFIX "gedasymbols://" #define CGI_URL "http://www.gedasymbols.org/scripts/global_list.cgi" static const char *url_idx_md5 = CGI_URL "?md5"; +static const char *url_idx_list = CGI_URL; static const char *gedasym_cache = "fp_wget_cache"; static const char *last_sum_fn = "fp_wget_cache/gedasymbols.last"; @@ -57,12 +60,15 @@ } -int gedasym_init() +int fp_gedasymbols_load_dir(plug_fp_t *ctx, const char *path) { FILE *f; int fctx; char *md5_last, *md5_new; + if (strncmp(path, REQUIRE_PATH_PREFIX, strlen(REQUIRE_PATH_PREFIX)) != 0) + return -1; + if (fp_wget_open(url_idx_md5, gedasym_cache, &f, &fctx, 0) != 0) return -1; md5_new = load_md5_sum(f); @@ -83,6 +89,17 @@ return 0; } + if (fp_wget_open(url_idx_list, gedasym_cache, &f, &fctx, 0) != 0) { + printf("failed to download the new list\n"); + remove(last_sum_fn); /* make sure it is downloaded next time */ + return -1; + } +/* load_index(); */ + fp_wget_close(&f, &fctx); + printf("update!\n"); return 0; } + + + Index: src_plugins/fp_wget/gedasymbols.h =================================================================== --- src_plugins/fp_wget/gedasymbols.h (revision 1428) +++ src_plugins/fp_wget/gedasymbols.h (revision 1429) @@ -1 +1,3 @@ -int gedasym_init(); +#include "plug_footprint.h" +int fp_gedasymbols_load_dir(plug_fp_t *ctx, const char *path); + Index: src_plugins/fp_wget/tester.c =================================================================== --- src_plugins/fp_wget/tester.c (revision 1428) +++ src_plugins/fp_wget/tester.c (revision 1429) @@ -1,5 +1,6 @@ +#include #include "gedasymbols.h" int main() { - gedasym_init(); + fp_gedasymbols_load_dir(NULL, "gedasymbols://"); }