From: Jo-Philipp Wich Date: Thu, 17 Jan 2019 21:02:37 +0000 (+0100) Subject: libopkg: fix replacelist parsing and writing X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=d217daf1b32d88a48659155b1faf747982175c5d;p=oweals%2Fopkg-lede.git libopkg: fix replacelist parsing and writing Signed-off-by: Jo-Philipp Wich --- diff --git a/libopkg/pkg.c b/libopkg/pkg.c index 21f239e..e5bfe6f 100644 --- a/libopkg/pkg.c +++ b/libopkg/pkg.c @@ -817,11 +817,11 @@ void pkg_formatted_field(FILE * fp, pkg_t * pkg, const char *field) case 'R': if (strcasecmp(field, "Replaces") == 0) { ab_pkg = pkg_get_ptr(pkg, PKG_REPLACES); - if (ab_pkg && *ab_pkg) { + if (ab_pkg && ab_pkg[0]) { fprintf(fp, "Replaces:"); - for (i = 0; *ab_pkg; i++, ab_pkg++) { + for (i = 0; ab_pkg[i]; i++) { fprintf(fp, "%s %s", i == 0 ? "" : ",", - (*ab_pkg)->name); + ab_pkg[i]->name); } fprintf(fp, "\n"); } diff --git a/libopkg/pkg_depends.c b/libopkg/pkg_depends.c index 748b599..ae2ac9b 100644 --- a/libopkg/pkg_depends.c +++ b/libopkg/pkg_depends.c @@ -668,9 +668,8 @@ void parse_replacelist(pkg_t *pkg, char *list) abstract_pkg_vec_insert(ab_pkg->provided_by, ab_pkg); - for (count = 1, item = strtok_r(list, ", ", &tok); - item; - count++, item = strtok_r(NULL, ", ", &tok), count++) { + for (count = 1, item = strtok_r(list, ", ", &tok); item; + count++, item = strtok_r(NULL, ", ", &tok)) { tmp = realloc(replaces, sizeof(abstract_pkg_t *) * (count + 1)); if (!tmp)