+ case 'M':
+ if ((mask & PFM_MD5SUM) && is_field("MD5sum:", line))
+ pkg_set_string(pkg, PKG_MD5SUM, line + strlen("MD5sum") + 1);
+ /* The old opkg wrote out status files with the wrong
+ * case for MD5sum, let's parse it either way */
+ else if ((mask & PFM_MD5SUM) && is_field("MD5Sum:", line))
+ pkg_set_string(pkg, PKG_MD5SUM, line + strlen("MD5Sum") + 1);
+ else if ((mask & PFM_MAINTAINER)
+ && is_field("Maintainer", line))
+ pkg_set_string(pkg, PKG_MAINTAINER, line + strlen("Maintainer") + 1);
+ 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_set_string(pkg, PKG_PRIORITY, line + strlen("Priority") + 1);
+ else if ((mask & PFM_PROVIDES) && is_field("Provides", line))
+ parse_providelist(pkg, line + strlen("Provides") + 1);
+ else if ((mask & PFM_PRE_DEPENDS)
+ && is_field("Pre-Depends", line))
+ parse_deplist(pkg, PREDEPEND, line + strlen("Pre-Depends") + 1);
+ break;
+
+ case 'R':
+ if ((mask & PFM_RECOMMENDS) && is_field("Recommends", line))
+ parse_deplist(pkg, RECOMMEND, line + strlen("Recommends") + 1);
+ else if ((mask & PFM_REPLACES) && is_field("Replaces", line))
+ parse_replacelist(pkg, line + strlen("Replaces") + 1);
+ break;