aboutsummaryrefslogtreecommitdiffstats
path: root/sdk/other/hex.c
diff options
context:
space:
mode:
authorWilliam Harrington <kb0iic@berzerkula.org>2025-01-14 16:06:02 -0600
committerWilliam Harrington <kb0iic@berzerkula.org>2025-01-14 16:06:02 -0600
commit0cc9b20c15460213e488bf5e70963b941482f628 (patch)
treebb0143245583ec846630f39bfa2258dba640ccd7 /sdk/other/hex.c
parent0e084ade5069756d487b5c948c48b777e37c00c9 (diff)
Add source.
Diffstat (limited to 'sdk/other/hex.c')
-rw-r--r--sdk/other/hex.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/sdk/other/hex.c b/sdk/other/hex.c
new file mode 100644
index 0000000..ae5ccec
--- /dev/null
+++ b/sdk/other/hex.c
@@ -0,0 +1,44 @@
+/*
+ * Hex digit conversion functions.
+ * $Id$
+ * Copyright (c) 1997 by Tycho Softworks.
+ * For conditions of distribution and reuse see product license.
+ */
+
+#include <other/strcvt.h>
+
+char hex(int digit)
+{
+ if(digit < 10)
+ return '0' + digit;
+ else
+ return '7' + digit;
+};
+
+char *hexbyte(uchar v)
+{
+ static char h[3];
+
+ h[0] = hex(v / 16);
+ h[1] = hex(v % 16);
+ h[2] = 0;
+ return h;
+};
+
+char *hexshort(ushort v)
+{
+ static char h[5];
+
+ strcpy(h, hexbyte((uchar)(v / 256)));
+ strcpy(h + 2, hexbyte((uchar)(v % 256)));
+ return h;
+};
+
+char *hexlong(ulong v)
+{
+ static char h[9];
+
+ strcpy(h, hexshort((ushort)(v / 65536)));
+ strcpy(h + 4, hexshort((ushort)(v % 65536)));
+ return h;
+};