aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-05-19 12:17:05 -0400
committerMike Frysinger <vapier@gentoo.org>2015-05-19 12:17:05 -0400
commit357a4c2d329ccf46cddb96e07c9308105e977fd3 (patch)
treeca4d09389e17a83a315f957c75d098506545af76 /qglsa.c
parentqgrep/qpkg: use the cache file given (diff)
downloadportage-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.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/qglsa.c b/qglsa.c
index 328bbd8e..7fba5c78 100644
--- a/qglsa.c
+++ b/qglsa.c
@@ -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);