diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-05-19 12:17:05 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2015-05-19 12:17:05 -0400 |
commit | 357a4c2d329ccf46cddb96e07c9308105e977fd3 (patch) | |
tree | ca4d09389e17a83a315f957c75d098506545af76 /qglsa.c | |
parent | qgrep/qpkg: use the cache file given (diff) | |
download | portage-utils-357a4c2d329ccf46cddb96e07c9308105e977fd3.tar.gz portage-utils-357a4c2d329ccf46cddb96e07c9308105e977fd3.tar.bz2 portage-utils-357a4c2d329ccf46cddb96e07c9308105e977fd3.zip |
cache: rework and move to /var/cache/edb
Since we want the portdir to be read-only when possible, move our
cache files to /var/cache/edb. This means the cache regeneration
logic isn't as robust (as we can't rely on rsync deleting it), but
so be it. We can see about improving this in the future.
URL: https://bugs.gentoo.org/548052
Reported-by: Martin Väth <martin@mvath.de>
Diffstat (limited to 'qglsa.c')
-rw-r--r-- | qglsa.c | 16 |
1 files changed, 10 insertions, 6 deletions
@@ -8,8 +8,6 @@ #ifdef APPLET_qglsa -#define QGLSA_DB "/var/cache/edb/glsa" - #define QGLSA_FLAGS "ldtpfi" COMMON_FLAGS static struct option const qglsa_long_opts[] = { {"list", no_argument, NULL, 'l'}, @@ -34,19 +32,25 @@ static const char * const qglsa_opts_help[] = { static char *qglsa_load_list(void); static char *qglsa_load_list(void) { - char *ret = NULL; + char *file, *ret = NULL; size_t size = 0; - eat_file(QGLSA_DB, &ret, &size); + xasprintf(&file, "%s/glsa", portedb); + eat_file(file, &ret, &size); + free(file); return ret; } static void qglsa_append_to_list(const char *glsa); static void qglsa_append_to_list(const char *glsa) { + char *file; FILE *f; - if ((f = fopen(QGLSA_DB, "a")) != NULL) { - fprintf(f, "%s\n", glsa); + xasprintf(&file, "%s/glsa", portedb); + if ((f = fopen(file, "a")) != NULL) { + fputs(glsa, f); + fputc('\n', f); fclose(f); } + free(file); } static void qglsa_decode_entities(char *xml_buf, size_t len); |