summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/xlat.c12
-rw-r--r--src/xlat.h1
2 files changed, 9 insertions, 4 deletions
diff --git a/src/xlat.c b/src/xlat.c
index fed9586b5..c45439917 100644
--- a/src/xlat.c
+++ b/src/xlat.c
@@ -28,16 +28,20 @@ sprint_xlat_val(uint64_t val, enum xlat_style style)
static char buf[sizeof(val) * 3];
switch (xlat_format(style)) {
- case XLAT_STYLE_FMT_D:
- xsprintf(buf, "%" PRId64, val);
+ case XLAT_STYLE_FMT_X:
+ xsprintf(buf, "%#" PRIx64, val);
break;
case XLAT_STYLE_FMT_U:
xsprintf(buf, "%" PRIu64, val);
break;
- case XLAT_STYLE_FMT_X:
- xsprintf(buf, "%#" PRIx64, val);
+ case XLAT_STYLE_FMT_D:
+ xsprintf(buf, "%" PRId64, val);
+ break;
+
+ case XLAT_STYLE_FMT_O:
+ xsprintf(buf, "%#" PRIo64, val);
break;
}
diff --git a/src/xlat.h b/src/xlat.h
index 8aa39b57b..be964e26e 100644
--- a/src/xlat.h
+++ b/src/xlat.h
@@ -41,6 +41,7 @@ enum xlat_style {
XLAT_STYLE_FMT_X = 0 << XLAT_STYLE_FORMAT_SHIFT,
XLAT_STYLE_FMT_U = 1 << XLAT_STYLE_FORMAT_SHIFT,
XLAT_STYLE_FMT_D = 2 << XLAT_STYLE_FORMAT_SHIFT,
+ XLAT_STYLE_FMT_O = 3 << XLAT_STYLE_FORMAT_SHIFT,
# define XLAT_STYLE_FORMAT_MASK (3 << XLAT_STYLE_FORMAT_SHIFT)