瀏覽代碼

libdpkg: Do nothing when parsing a boolean field with an empty string

The field should have been already initialized to 0 by
blankpackageperfile, so no need to assign again.
Guillem Jover 17 年之前
父節點
當前提交
a2de4aa132
共有 2 個文件被更改,包括 8 次插入4 次删除
  1. 4 0
      ChangeLog
  2. 4 4
      lib/fields.c

+ 4 - 0
ChangeLog

@@ -1,3 +1,7 @@
+2009-02-27  Guillem Jover  <guillem@debian.org>
+
+	* lib/fields.c (f_boolean): Return if value is an empty string.
+
 2009-02-26  Chris Coulson  <chrisccoulson@googlemail.com>,
             Guillem Jover  <guillem@debian.org>
 

+ 4 - 4
lib/fields.c

@@ -130,10 +130,10 @@ void f_boolean(struct pkginfo *pigp, struct pkginfoperfile *pifp,
                enum parsedbflags flags,
                const char *filename, int lno, FILE *warnto, int *warncount,
                const char *value, const struct fieldinfo *fip) {
-  pifp->essential = *value ?
-                    convert_string(filename, lno, _("yes/no in boolean field"),
-                                   -1, pigp, value, booleaninfos, NULL) :
-                    0;
+  if (!*value)
+    return;
+  pifp->essential = convert_string(filename, lno, _("yes/no in boolean field"),
+                                   -1, pigp, value, booleaninfos, NULL);
 }
 
 void f_section(struct pkginfo *pigp, struct pkginfoperfile *pifp,