From 3dbaad0a1f27b96462541e1189efe37ffa913e9a Mon Sep 17 00:00:00 2001 From: Albert Ou Date: Tue, 13 Dec 2016 15:05:19 -0800 Subject: Refactor libc stubs into libwrap The --wrap feature of GNU ld supports a cleaner framework for linking in alternative implementations of libc functions without cpp hacks. Place wrappers in separate object files to reduce static code size. --- bsp/libwrap/misc/write_hex.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 bsp/libwrap/misc/write_hex.c (limited to 'bsp/libwrap/misc') diff --git a/bsp/libwrap/misc/write_hex.c b/bsp/libwrap/misc/write_hex.c new file mode 100644 index 0000000..e678bdc --- /dev/null +++ b/bsp/libwrap/misc/write_hex.c @@ -0,0 +1,19 @@ +/* See LICENSE of license details. */ + +#include +#include +#include "platform.h" + +void write_hex(int fd, uint32_t hex) +{ + uint8_t ii; + uint8_t jj; + char towrite; + write(fd , "0x", 2); + for (ii = 8 ; ii > 0; ii--) { + jj = ii - 1; + uint8_t digit = ((hex & (0xF << (jj*4))) >> (jj*4)); + towrite = digit < 0xA ? ('0' + digit) : ('A' + (digit - 0xA)); + write(fd, &towrite, 1); + } +} -- cgit v1.2.1-18-gbd029