summaryrefslogtreecommitdiff
path: root/nest
diff options
context:
space:
mode:
Diffstat (limited to 'nest')
-rw-r--r--nest/a-set.c13
-rw-r--r--nest/attrs.h8
2 files changed, 13 insertions, 8 deletions
diff --git a/nest/a-set.c b/nest/a-set.c
index 10ddd139..78922ffd 100644
--- a/nest/a-set.c
+++ b/nest/a-set.c
@@ -72,15 +72,12 @@ ec_format(byte *buf, u64 ec)
char tbuf[16], *kind;
type = ec >> 48;
- switch (type & 0xf0ff)
- {
- case EC_RT: kind = "rt"; break;
- case EC_RO: kind = "ro"; break;
+ kind = ec_subtype_str(type & 0xf0ff);
- default:
- kind = tbuf;
- bsprintf(kind, "unknown 0x%x", type);
- }
+ if (!kind) {
+ kind = tbuf;
+ bsprintf(kind, "unknown 0x%x", type);
+ }
switch (ec >> 56)
{
diff --git a/nest/attrs.h b/nest/attrs.h
index 37227d9b..4efcff79 100644
--- a/nest/attrs.h
+++ b/nest/attrs.h
@@ -125,6 +125,14 @@ enum ec_subtype {
EC_GENERIC = 0xFFFF,
};
+static inline const char *ec_subtype_str(const enum ec_subtype ecs) {
+ switch (ecs) {
+ case EC_RT: return "rt";
+ case EC_RO: return "ro";
+ default: return NULL;
+ }
+}
+
/* Transitive bit (for first u32 half of EC) */
#define EC_TBIT 0x40000000