summaryrefslogtreecommitdiff
path: root/hex.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2011-08-25 12:25:57 -0400
committerEric S. Raymond <esr@thyrsus.com>2011-08-25 12:25:57 -0400
commitf10cc81cf3e1d6cffdb36d9c094a544463ae1adf (patch)
tree473e3aeb2a0ee5265f774fdb607ca53f8a7a226c /hex.c
parent65d95c7b877fefa95ee2d480c35c808c0230e4e5 (diff)
downloadgpsd-f10cc81cf3e1d6cffdb36d9c094a544463ae1adf.tar.gz
Dependency reduction. No logic changes. All regression tests pass.
Diffstat (limited to 'hex.c')
-rw-r--r--hex.c42
1 files changed, 21 insertions, 21 deletions
diff --git a/hex.c b/hex.c
index 991673ff..5b7a673f 100644
--- a/hex.c
+++ b/hex.c
@@ -46,28 +46,8 @@ char /*@ observer @*/ *gpsd_hexdump(char *binbuf, size_t binbuflen)
}
}
-int gpsd_hexpack( /*@in@*/ const char *src, /*@out@ */ char *dst, size_t len)
-{
-/* hex2bin source string to destination - destination can be same as source */
- int i, k, l;
-
- /*@ -mustdefine @*/
- l = (int)(strlen(src) / 2);
- if ((l < 1) || ((size_t) l > len))
- return -2;
-
- for (i = 0; i < l; i++)
- if ((k = hex2bin(src + i * 2)) != -1)
- dst[i] = (char)(k & 0xff);
- else
- return -1;
- (void)memset(dst + i, '\0', (size_t) (len - i));
- return l;
- /*@ +mustdefine @*/
-}
-
/*@ +charint -shiftimplementation @*/
-int hex2bin(const char *s)
+static int hex2bin(const char *s)
{
int a, b;
@@ -95,6 +75,26 @@ int hex2bin(const char *s)
return ((a << 4) + b);
}
+int gpsd_hexpack( /*@in@*/ const char *src, /*@out@ */ char *dst, size_t len)
+/* hex2bin source string to destination - destination can be same as source */
+{
+ int i, k, l;
+
+ /*@ -mustdefine @*/
+ l = (int)(strlen(src) / 2);
+ if ((l < 1) || ((size_t) l > len))
+ return -2;
+
+ for (i = 0; i < l; i++)
+ if ((k = hex2bin(src + i * 2)) != -1)
+ dst[i] = (char)(k & 0xff);
+ else
+ return -1;
+ (void)memset(dst + i, '\0', (size_t) (len - i));
+ return l;
+ /*@ +mustdefine @*/
+}
+
/*@ -charint +shiftimplementation @*/
ssize_t hex_escapes( /*@out@*/ char *cooked, const char *raw)