summaryrefslogtreecommitdiff
path: root/files
diff options
context:
space:
mode:
Diffstat (limited to 'files')
-rw-r--r--files/poketool/personal/growtbl/.knarcignore3
-rw-r--r--files/poketool/personal/growtbl/Makefile19
-rw-r--r--files/poketool/personal/growtbl/grow2bin.c103
3 files changed, 3 insertions, 122 deletions
diff --git a/files/poketool/personal/growtbl/.knarcignore b/files/poketool/personal/growtbl/.knarcignore
new file mode 100644
index 00000000..d633d071
--- /dev/null
+++ b/files/poketool/personal/growtbl/.knarcignore
@@ -0,0 +1,3 @@
+*.txt
+*.exe
+grow2bin
diff --git a/files/poketool/personal/growtbl/Makefile b/files/poketool/personal/growtbl/Makefile
deleted file mode 100644
index 4bbb579f..00000000
--- a/files/poketool/personal/growtbl/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-CC = gcc
-CFLAGS = -O3
-
-growth_rates_txt = $(wildcard *.txt)
-growth_rates_bin = $(growth_rates_txt:%.txt=%.bin)
-
-.PHONY: all clean
-
-all: grow2bin $(growth_rates_bin)
- @:
-
-clean:
- $(RM) grow2bin $(growth_rates_bin)
-
-grow2bin: grow2bin.c
- $(CC) $(CFLAGS) -o $@ $^
-
-%.bin: %.txt
- ./grow2bin $<
diff --git a/files/poketool/personal/growtbl/grow2bin.c b/files/poketool/personal/growtbl/grow2bin.c
deleted file mode 100644
index 5c8b5111..00000000
--- a/files/poketool/personal/growtbl/grow2bin.c
+++ /dev/null
@@ -1,103 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdint.h>
-#include <ctype.h>
-
-char * ReadWholeFile(char * filename) {
- FILE * infile = fopen(filename, "rb");
- if (infile == NULL) return NULL;
- fseek(infile, 0, SEEK_END);
- size_t fsize = ftell(infile);
- fseek(infile, 0, SEEK_SET);
- char * ret = malloc(fsize);
- if (ret != NULL) {
- if (fread(ret, 1, fsize, infile) != fsize) {
- free(ret);
- ret = NULL;
- }
- }
- fclose(infile);
- return ret;
-}
-
-int main(int argc, char ** argv) {
- int width = 4;
- char * buffer = NULL;
- char * endptr = NULL;
- FILE * outfile = NULL;
- char * infname = NULL;
- for (int i = 1; i < argc; i++) {
- if (strcmp(argv[i], "-w") == 0 || strcmp(argv[i], "--width") == 0) {
- ++i;
- width = strtol(argv[i], &endptr, 10);
- if (width == 0) {
- fprintf(stderr, "invalid integer value for %s: %s\n", argv[i - 1], argv[i]);
- return EXIT_FAILURE;
- }
- } else if (strcmp(argv[i], "-o") == 0 || strcmp(argv[i], "--output") == 0) {
- ++i;
- outfile = fopen(argv[i], "wb");
- if (outfile == NULL) {
- fprintf(stderr, "unable to open file '%s' for writing\n", argv[i]);
- return EXIT_FAILURE;
- }
- } else {
- if (buffer == NULL)
- {
- buffer = ReadWholeFile(argv[i]);
- }
- if (buffer == NULL)
- {
- fprintf(stderr, "invalid argument: %s\n", argv[i]);
- return EXIT_FAILURE;
- }
- infname = argv[i];
- }
- }
- if (buffer == NULL) {
- fprintf(stderr, "missing required argument: INFILE\n");
- return EXIT_FAILURE;
- }
- if (outfile == NULL) {
- char * infname_ext = strrchr(infname, '.');
- char * outfname = malloc(infname_ext - infname + 5);
- char * outfname_ext = stpncpy(outfname, argv[1], infname_ext - argv[1]);
- strcpy(outfname_ext, ".bin");
- outfile = fopen(outfname, "wb");
- if (outfile == NULL) {
- fprintf(stderr, "unable to open file '%s' for writing\n", outfname);
- return EXIT_FAILURE;
- }
- free(outfname);
- }
- uint32_t value;
- size_t size = 0;
- char * ptr = buffer;
- char * end = NULL;
- int lineno = 1;
- int colno = 1;
- while (1) {
- while (isspace(*ptr) || *ptr == ',') {
- if (*ptr == 0) break;
- if (*ptr == '\n')
- { lineno++; colno = 1; }
- if (*ptr == ',') colno++;
- ptr++;
- };
- if (*ptr == 0) break;
- value = strtoul(ptr, &end, 10);
- if (value == 0 && ptr == end) {
- fprintf(stderr, "syntax error: %d:%d\n", lineno, colno);
- return EXIT_FAILURE;
- }
- if (fwrite(&value, 1, width, outfile) != width) {
- fprintf(stderr, "write error\n");
- return EXIT_FAILURE;
- }
- ptr = end;
- }
- fclose(outfile);
- free(buffer);
- return EXIT_SUCCESS;
-}