From ff7be3e0261e844c81ae1d4c3f016c0b9dd75b77 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Thu, 22 Aug 2019 13:06:15 -0400 Subject: ctr: Encode negative integers in normal hex notation Signed-off-by: Kevin O'Connor --- src/ctr.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/ctr.h') diff --git a/src/ctr.h b/src/ctr.h index b5b56ee2..4032e268 100644 --- a/src/ctr.h +++ b/src/ctr.h @@ -16,7 +16,8 @@ // Macro to encode an integer for use with DECL_CTR_INT() #define _CTR_HEX(H) ((H) > 9 ? (H) - 10 + 'A' : (H) + '0') -#define _CTR_INT(V, S) _CTR_HEX(((uint32_t)(V) >> (S)) & 0x0f) +#define _CTR_SHIFT(V, S) _CTR_HEX(((uint32_t)(V) >> (S)) & 0x0f) +#define _CTR_INT(V, S) ((V) < 0 ? _CTR_SHIFT(-(V), (S)) : _CTR_SHIFT((V), (S))) #define CTR_INT(VALUE) { \ ' ', (VALUE) < 0 ? '-' : '+', '0', 'x', \ _CTR_INT((VALUE),28), _CTR_INT((VALUE),24), \ -- cgit v1.2.3-70-g09d2