|
|
@@ -302,19 +302,6 @@ const struct fieldinfo virtinfos[] = {
|
|
|
{ NULL },
|
|
|
};
|
|
|
|
|
|
-static const struct fieldinfo *
|
|
|
-find_field_info(const struct fieldinfo *fields_head,
|
|
|
- const struct pkg_format_node *fmt_node)
|
|
|
-{
|
|
|
- const struct fieldinfo *fip;
|
|
|
-
|
|
|
- for (fip = fields_head; fip->name; fip++)
|
|
|
- if (strcasecmp(fmt_node->data, fip->name) == 0)
|
|
|
- return fip;
|
|
|
-
|
|
|
- return NULL;
|
|
|
-}
|
|
|
-
|
|
|
void
|
|
|
pkg_format_show(const struct pkg_format_node *head,
|
|
|
struct pkginfo *pkg, struct pkgbin *pkgbin)
|
|
|
@@ -340,9 +327,9 @@ pkg_format_show(const struct pkg_format_node *head,
|
|
|
} else if (node->type == PKG_FORMAT_FIELD) {
|
|
|
const struct fieldinfo *fip;
|
|
|
|
|
|
- fip = find_field_info(fieldinfos, node);
|
|
|
+ fip = find_field_info(fieldinfos, node->data);
|
|
|
if (fip == NULL)
|
|
|
- fip = find_field_info(virtinfos, node);
|
|
|
+ fip = find_field_info(virtinfos, node->data);
|
|
|
|
|
|
if (fip) {
|
|
|
fip->wcall(&wb, pkg, pkgbin, 0, fip);
|
|
|
@@ -354,12 +341,11 @@ pkg_format_show(const struct pkg_format_node *head,
|
|
|
} else {
|
|
|
const struct arbitraryfield *afp;
|
|
|
|
|
|
- for (afp = pkgbin->arbs; afp; afp = afp->next)
|
|
|
- if (strcasecmp(node->data, afp->name) == 0) {
|
|
|
- varbuf_printf(&fb, fmt, afp->value);
|
|
|
- ok = true;
|
|
|
- break;
|
|
|
- }
|
|
|
+ afp = find_arbfield_info(pkgbin->arbs, node->data);
|
|
|
+ if (afp) {
|
|
|
+ varbuf_printf(&fb, fmt, afp->value);
|
|
|
+ ok = true;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|