diff loadtools/ltmisc.c @ 640:5385aca4d813

fc-loadtool module refactoring: CRC-32 functions split out
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 01 Mar 2020 18:54:29 +0000
parents e7502631a0f9
children 0d199c6a6ea4
line wrap: on
line diff
--- a/loadtools/ltmisc.c	Sun Mar 01 18:28:10 2020 +0000
+++ b/loadtools/ltmisc.c	Sun Mar 01 18:54:29 2020 +0000
@@ -6,6 +6,29 @@
 #include <sys/types.h>
 #include <stdio.h>
 #include <stdint.h>
+#include <stdlib.h>
+
+cmd_crc32(argc, argv)
+	char **argv;
+{
+	u_long area_base, area_len;
+	char *strtoul_endp;
+	u_long crc_result;
+	int stat;
+
+	area_base = strtoul(argv[1], &strtoul_endp, 16);
+	if (*strtoul_endp) {
+inv:		fprintf(stderr, "usage: crc32 hex-start hex-len\n");
+		return(-1);
+	}
+	area_len = strtoul(argv[2], &strtoul_endp, 16);
+	if (*strtoul_endp)
+		goto inv;
+	stat = crc32_on_target(area_base, area_len, &crc_result);
+	if (stat == 0)
+		printf("%08lX\n", crc_result);
+	return(stat);
+}
 
 cmd_dieid(argc, argv)
 	char **argv;