+ if((mask & PFM_FILENAME) && is_field("Filename", line))
+ pkg->filename = parse_simple("Filename", line);
+ break;
+
+ case 'I':
+ if ((mask && PFM_INSTALLED_SIZE) && is_field("Installed-Size", line))
+ pkg->installed_size = parse_simple("Installed-Size", line);
+ else if ((mask && PFM_INSTALLED_TIME) && is_field("Installed-Time", line)) {
+ char *tmp = parse_simple("Installed-Time", line);
+ pkg->installed_time = strtoul(tmp, NULL, 0);
+ free (tmp);
+ }
+ break;
+
+ case 'M':
+ if (mask && PFM_MD5SUM) {
+ if (is_field("MD5sum:", line))
+ pkg->md5sum = parse_simple("MD5sum", line);
+ /* The old opkg wrote out status files with the wrong
+ * case for MD5sum, let's parse it either way */
+ else if (is_field("MD5Sum:", line))
+ pkg->md5sum = parse_simple("MD5Sum", line);
+ } else if((mask & PFM_MAINTAINER) && is_field("Maintainer", line))
+ pkg->maintainer = parse_simple("Maintainer", line);
+ break;
+
+ case 'P':
+ if ((mask & PFM_PACKAGE) && is_field("Package", line))
+ pkg->name = parse_simple("Package", line);
+ else if ((mask & PFM_PRIORITY) && is_field("Priority", line))
+ pkg->priority = parse_simple("Priority", line);
+ else if ((mask & PFM_PROVIDES) && is_field("Provides", line))
+ pkg->provides_str = parse_comma_separated(line, &pkg->provides_count);
+ else if ((mask & PFM_PRE_DEPENDS) && is_field("Pre-Depends", line))
+ pkg->pre_depends_str = parse_comma_separated(line, &pkg->pre_depends_count);
+ break;
+
+ case 'R':
+ if ((mask & PFM_RECOMMENDS) && is_field("Recommends", line))
+ pkg->recommends_str = parse_comma_separated(line, &pkg->recommends_count);
+ else if ((mask & PFM_REPLACES) && is_field("Replaces", line))
+ pkg->replaces_str = parse_comma_separated(line, &pkg->replaces_count);
+
+ break;