summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gpsd.h-tail1
-rw-r--r--hex.c42
2 files changed, 21 insertions, 22 deletions
diff --git a/gpsd.h-tail b/gpsd.h-tail
index 4e965b94..350bc5a3 100644
--- a/gpsd.h-tail
+++ b/gpsd.h-tail
@@ -678,7 +678,6 @@ extern gps_mask_t gpsd_interpret_subframe_raw(struct gps_device_t *,
unsigned int, uint32_t[]);
extern /*@ observer @*/ char *gpsd_hexdump(/*@null@*/char *, size_t);
extern int gpsd_hexpack(/*@in@*/const char *, /*@out@*/char *, size_t);
-extern int hex2bin(const char *);
extern ssize_t hex_escapes(/*@out@*/char *, const char *);
extern void gpsd_position_fix_dump(struct gps_device_t *,
/*@out@*/char[], size_t);
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)