changeset 7:4360a7906f34

reversed nibbles parsing functions factored out into libcommon
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 11 Feb 2021 23:56:13 +0000
parents 2c72709e0891
children 4a9bf783491d
files libcommon/Makefile libcommon/revnibbles.c simtool/hlread.c
diffstat 3 files changed, 36 insertions(+), 31 deletions(-) [+]
line wrap: on
line diff
--- a/libcommon/Makefile	Thu Feb 11 23:42:53 2021 +0000
+++ b/libcommon/Makefile	Thu Feb 11 23:56:13 2021 +0000
@@ -1,7 +1,8 @@
 CC=	gcc
 CFLAGS=	-O2 -I/usr/include/PCSC
 OBJS=	alpha_decode.o alpha_valid.o apdu.o atr.o cardconnect.o chkblank.o \
-	dumpdirfunc.o exit.o hexdump.o hexread.o hexstr.o names.o pinentry.o
+	dumpdirfunc.o exit.o hexdump.o hexread.o hexstr.o names.o pinentry.o \
+	revnibbles.o
 LIB=	libcommon.a
 
 all:	${LIB}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libcommon/revnibbles.c	Thu Feb 11 23:56:13 2021 +0000
@@ -0,0 +1,34 @@
+/*
+ * This module implements some reversed-nibbles parsing functions.
+ */
+
+#include <sys/types.h>
+
+encode_hex_digit(d)
+	unsigned d;
+{
+	if (d <= 9)
+		return(d + '0');
+	else
+		return(d - 10 + 'A');
+}
+
+decode_reversed_nibbles(bytes, nbytes, dest)
+	u_char *bytes;
+	unsigned nbytes;
+	char *dest;
+{
+	u_char *sp;
+	char *dp;
+	unsigned n, c;
+
+	sp = bytes;
+	dp = dest;
+	for (n = 0; n < nbytes; n++) {
+		c = *sp & 0xF;
+		*dp++ = encode_hex_digit(c);
+		c = *sp >> 4;
+		*dp++ = encode_hex_digit(c);
+		sp++;
+	}
+}
--- a/simtool/hlread.c	Thu Feb 11 23:42:53 2021 +0000
+++ b/simtool/hlread.c	Thu Feb 11 23:56:13 2021 +0000
@@ -4,40 +4,10 @@
 
 #include <sys/types.h>
 #include <stdio.h>
-#include <stdlib.h>
 #include "simresp.h"
 #include "curfile.h"
 #include "file_id.h"
 
-encode_hex_digit(d)
-	unsigned d;
-{
-	if (d <= 9)
-		return(d + '0');
-	else
-		return(d - 10 + 'A');
-}
-
-decode_reversed_nibbles(bytes, nbytes, dest)
-	u_char *bytes;
-	unsigned nbytes;
-	char *dest;
-{
-	u_char *sp;
-	char *dp;
-	unsigned n, c;
-
-	sp = bytes;
-	dp = dest;
-	for (n = 0; n < nbytes; n++) {
-		c = *sp & 0xF;
-		*dp++ = encode_hex_digit(c);
-		c = *sp >> 4;
-		*dp++ = encode_hex_digit(c);
-		sp++;
-	}
-}
-
 cmd_iccid()
 {
 	int rc;