aboutsummaryrefslogtreecommitdiff
path: root/src/alfsum.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/alfsum.c')
-rw-r--r--src/alfsum.c54
1 files changed, 0 insertions, 54 deletions
diff --git a/src/alfsum.c b/src/alfsum.c
deleted file mode 100644
index 2456e60..0000000
--- a/src/alfsum.c
+++ /dev/null
@@ -1,54 +0,0 @@
-#include "unalf.h"
-
-/* 20251104 bkw: implement the simple checksum used by ALF.
- Dumbest possible algo: all the bytes are added together and
- the bottom 16 bits of the result is the checksum. */
-
-void alfsum(const char *file, FILE *f) {
- int c;
- unsigned long sum = 0;
-
- while((c = fgetc(f)) != EOF)
- sum += c;
-
- printf("%04x\t%s\n", (unsigned int)(sum & 0xffff), file);
-}
-
-int main(int argc, char **argv) {
- int errs = 0;
- char *file;
- FILE *f;
-
- set_self(argv[0]);
-
- if(argc < 2 || !strcmp(argv[1], "--help") || !strcmp(argv[1], "-h")) {
- printf("alfsum v" VERSION " by B. Watson. WTFPL.\n"
- "Usage: %s filename [filename(s) ...]\n"
- "\t(use - to read from standard input)\n",
- self);
- return (argc < 2) ? -1 : 0;
- }
-
- if(!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version")) {
- puts(VERSION);
- exit(0);
- }
-
- while((file = *++argv)) {
- if(argv[0][0] == '-' && !argv[0][1]) {
- if(isatty(0))
- fprintf(stderr, "%s: reading from stdin...\n", self);
- f = stdin;
- file = " (stdin)";
- } else if(!(f = fopen(file, "rb"))) {
- fprintf(stderr, "%s: ", self);
- perror(file);
- errs++;
- continue;
- }
- alfsum(file, f);
- fclose(f);
- }
-
- return errs > 254 ? 254 : errs;
-}