add new hexdump_nospc() function
authorHarald Welte <laforge@gnumonks.org>
Fri, 30 Jul 2010 09:43:30 +0000 (11:43 +0200)
committerHarald Welte <laforge@gnumonks.org>
Fri, 30 Jul 2010 09:47:50 +0000 (11:47 +0200)
include/osmocore/utils.h
src/utils.c

index 07af180..3574f7f 100644 (file)
@@ -19,5 +19,6 @@ uint8_t char2bcd(char c);
 
 int hexparse(const char *str, uint8_t *b, int max_len);
 char *hexdump(const unsigned char *buf, int len);
+char *hexdump_nospc(const unsigned char *buf, int len);
 
 #endif
index a6c2d6d..2155885 100644 (file)
@@ -78,7 +78,7 @@ int hexparse(const char *str, uint8_t *b, int max_len)
 
 static char hexd_buff[4096];
 
-char *hexdump(const unsigned char *buf, int len)
+static char *_hexdump(const unsigned char *buf, int len, char *delim)
 {
        int i;
        char *cur = hexd_buff;
@@ -86,7 +86,7 @@ char *hexdump(const unsigned char *buf, int len)
        hexd_buff[0] = 0;
        for (i = 0; i < len; i++) {
                int len_remain = sizeof(hexd_buff) - (cur - hexd_buff);
-               int rc = snprintf(cur, len_remain, "%02x ", buf[i]);
+               int rc = snprintf(cur, len_remain, "%02x%s", buf[i], delim);
                if (rc <= 0)
                        break;
                cur += rc;
@@ -94,3 +94,13 @@ char *hexdump(const unsigned char *buf, int len)
        hexd_buff[sizeof(hexd_buff)-1] = 0;
        return hexd_buff;
 }
+
+char *hexdump(const unsigned char *buf, int len)
+{
+       return _hexdump(buf, len, " ");
+}
+
+char *hexdump_nospc(const unsigned char *buf, int len)
+{
+       return _hexdump(buf, len, "");
+}