cbfstool: Factor out compression algorithm list

Parse compression algorithm arguments using a single list.

Change-Id: Idc5b14a53377b29964f24221e42db6e09a497d48
Signed-off-by: Sol Boucher <solb@chromium.org>
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Change-Id: I1a117a9473e895feaf455bb30d0f945f57de51eb
Original-Signed-off-by: Sol Boucher <solb@chromium.org>
Reviewed-on: http://review.coreboot.org/10931
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Sol Boucher
2015-05-07 21:00:05 -07:00
committed by Patrick Georgi
parent 6533671ce0
commit ec42486055
3 changed files with 23 additions and 7 deletions

View File

@@ -96,11 +96,23 @@ static const char *lookup_name_by_type(const struct typedesc_t *desc, uint32_t t
return default_value;
}
static int lookup_type_by_name(const struct typedesc_t *desc, const char *name)
{
int i;
for (i = 0; desc[i].name && strcasecmp(name, desc[i].name); ++i);
return desc[i].name ? (int)desc[i].type : -1;
}
static const char *get_cbfs_entry_type_name(uint32_t type)
{
return lookup_name_by_type(types_cbfs_entry, type, "(unknown)");
}
int cbfs_parse_comp_algo(const char *name)
{
return lookup_type_by_name(types_cbfs_compression, name);
}
/* CBFS image */
static size_t cbfs_calculate_file_header_size(const char *name)