commit:     e5251bd75fe11b3a350d122c29a994f54f069974
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 28 16:21:01 2019 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Apr 28 16:21:01 2019 +0000
URL:        https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=e5251bd7

libq/cache: support BDEPEND and fix error messages

Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 libq/cache.c | 16 ++++++++++------
 libq/cache.h |  1 +
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/libq/cache.c b/libq/cache.c
index a00dd6b..efc47bc 100644
--- a/libq/cache.c
+++ b/libq/cache.c
@@ -255,7 +255,6 @@ cache_read_file_md5(cache_pkg_ctx *pkg_ctx)
        FILE *f;
        cache_pkg_meta *ret = NULL;
        size_t len;
-       char buf[_Q_PATH_MAX];
 
        if ((f = fdopen(pkg_ctx->fd, "r")) == NULL)
                goto err;
@@ -288,8 +287,9 @@ cache_read_file_md5(cache_pkg_ctx *pkg_ctx)
        ptr = ret->_data;
        endptr = strchr(ptr, '\0');
        if (endptr == NULL) {
-                       warn("Invalid cache file for '%s': "
-                                       "could not find end of cache data", 
buf);
+                       warn("Invalid cache file for '%s/%s': "
+                                       "could not find end of cache data",
+                                       pkg_ctx->cat_ctx->name, pkg_ctx->name);
                        goto err;
        }
 
@@ -299,14 +299,16 @@ cache_read_file_md5(cache_pkg_ctx *pkg_ctx)
                keyptr = ptr;
                valptr = strchr(ptr, '=');
                if (valptr == NULL) {
-                       warn("Invalid cache file for '%s': missing val", buf);
+                       warn("Invalid cache file for '%s/%s': missing val",
+                                       pkg_ctx->cat_ctx->name, pkg_ctx->name);
                        goto err;
                }
                *valptr = '\0';
                valptr++;
                ptr = strchr(valptr, '\n');
                if (ptr == NULL) {
-                       warn("Invalid cache file for '%s': missing key", buf);
+                       warn("Invalid cache file for '%s/%s': missing key",
+                                       pkg_ctx->cat_ctx->name, pkg_ctx->name);
                        goto err;
                }
                *ptr = '\0';
@@ -330,9 +332,11 @@ cache_read_file_md5(cache_pkg_ctx *pkg_ctx)
                assign_var(SRC_URI);
                assign_var(DEFINED_PHASES);
                assign_var(REQUIRED_USE);
+               assign_var(BDEPEND);
                assign_var(_eclasses_);
                assign_var(_md5_);
-               warn("Cache file for '%s' has unknown key %s", buf, keyptr);
+               warn("Cache file for '%s/%s' has unknown key %s",
+                               pkg_ctx->cat_ctx->name, pkg_ctx->name, keyptr);
        }
 #undef assign_var
 #undef assign_var_cmp

diff --git a/libq/cache.h b/libq/cache.h
index f9b1d43..74f45b8 100644
--- a/libq/cache.h
+++ b/libq/cache.h
@@ -38,6 +38,7 @@ typedef struct {
        /* These are MD5-Cache only */
        char *DEFINED_PHASES;
        char *REQUIRED_USE;
+       char *BDEPEND;
        char *_eclasses_;
        char *_md5_;
 } cache_pkg_meta;

Reply via email to