summaryrefslogtreecommitdiffstats
path: root/src/shared/libosmocore/src/utils.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@gnumonks.org>2011-04-26 00:28:18 +0200
committerPablo Neira Ayuso <pablo@gnumonks.org>2011-04-26 00:28:18 +0200
commitf0059596a20bfa406a500ca5d6b34bf88d333ed3 (patch)
tree41bc483077171529e20084ede0784dd6af076056 /src/shared/libosmocore/src/utils.c
parentd9639bb010d05a96a6cbced94668c5754a4f0de9 (diff)
parent28dbfe9bf7a799ab1da2563fd5e007d007b54168 (diff)
Merge commit '28dbfe9bf7a799ab1da2563fd5e007d007b54168'
Diffstat (limited to 'src/shared/libosmocore/src/utils.c')
-rw-r--r--src/shared/libosmocore/src/utils.c54
1 files changed, 53 insertions, 1 deletions
diff --git a/src/shared/libosmocore/src/utils.c b/src/shared/libosmocore/src/utils.c
index 405039f6..af1829c9 100644
--- a/src/shared/libosmocore/src/utils.c
+++ b/src/shared/libosmocore/src/utils.c
@@ -4,7 +4,7 @@
#include <errno.h>
#include <stdio.h>
-#include <osmocore/utils.h>
+#include <osmocom/core/utils.h>
static char namebuf[255];
const char *get_value_string(const struct value_string *vs, uint32_t val)
@@ -95,6 +95,36 @@ static char *_hexdump(const unsigned char *buf, int len, char *delim)
return hexd_buff;
}
+char *ubit_dump(const uint8_t *bits, unsigned int len)
+{
+ int i;
+
+ if (len > sizeof(hexd_buff)-1)
+ len = sizeof(hexd_buff)-1;
+ memset(hexd_buff, 0, sizeof(hexd_buff));
+
+ for (i = 0; i < len; i++) {
+ char outch;
+ switch (bits[i]) {
+ case 0:
+ outch = '0';
+ break;
+ case 0xff:
+ outch = '?';
+ break;
+ case 1:
+ outch = '1';
+ break;
+ default:
+ outch = 'E';
+ break;
+ }
+ hexd_buff[i] = outch;
+ }
+ hexd_buff[sizeof(hexd_buff)-1] = 0;
+ return hexd_buff;
+}
+
char *hexdump(const unsigned char *buf, int len)
{
return _hexdump(buf, len, " ");
@@ -104,3 +134,25 @@ char *hexdump_nospc(const unsigned char *buf, int len)
{
return _hexdump(buf, len, "");
}
+
+#include "../config.h"
+#ifdef HAVE_CTYPE_H
+#include <ctype.h>
+void osmo_str2lower(char *out, const char *in)
+{
+ unsigned int i;
+
+ for (i = 0; i < strlen(in); i++)
+ out[i] = tolower(in[i]);
+ out[strlen(in)] = '\0';
+}
+
+void osmo_str2upper(char *out, const char *in)
+{
+ unsigned int i;
+
+ for (i = 0; i < strlen(in); i++)
+ out[i] = toupper(in[i]);
+ out[strlen(in)] = '\0';
+}
+#endif /* HAVE_CTYPE_H */