opkg: ignore empty fields in package lists

This is to work around issues with package list generators creating
empty fields in some environments.

Based on a patch by Paul Selkrik <pselkrik@isc.org>
Signed-off-by: Steven Barth <steven@midlink.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38390 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Steven Barth 2013-10-14 08:09:58 +00:00
parent 77517a6a27
commit e9ae348a48
2 changed files with 17 additions and 1 deletions

View File

@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/version.mk
PKG_NAME:=opkg PKG_NAME:=opkg
PKG_REV:=618 PKG_REV:=618
PKG_VERSION:=$(PKG_REV) PKG_VERSION:=$(PKG_REV)
PKG_RELEASE:=5 PKG_RELEASE:=6
PKG_SOURCE_PROTO:=svn PKG_SOURCE_PROTO:=svn
PKG_SOURCE_VERSION:=$(PKG_REV) PKG_SOURCE_VERSION:=$(PKG_REV)

View File

@ -0,0 +1,16 @@
--- a/libopkg/parse_util.c
+++ b/libopkg/parse_util.c
@@ -35,7 +35,12 @@ is_field(const char *type, const char *l
char *
parse_simple(const char *type, const char *line)
{
- return trim_xstrdup(line + strlen(type) + 1);
+ char *field = trim_xstrdup(line + strlen(type) + 1);
+ if (strlen(field) == 0) {
+ free(field);
+ return NULL;
+ }
+ return field;
}
/*