From e048fe1f8779db49a319d4b7310bbd9e1bbd576b Mon Sep 17 00:00:00 2001 From: Dan Egnor Date: Thu, 9 Oct 2025 10:46:29 -0700 Subject: [PATCH] minor QoL improvements to bdfconv build --- .gitignore | 3 ++- tools/font/bdfconv/.gitignore | 1 + tools/font/bdfconv/Makefile | 18 ++++++++++++++---- tools/font/bdfconv/bdf_map.c | 5 ++++- 4 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 tools/font/bdfconv/.gitignore diff --git a/.gitignore b/.gitignore index 880fa90c..8b5ff511 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *.o -*.~ \ No newline at end of file +*.s +*.~ diff --git a/tools/font/bdfconv/.gitignore b/tools/font/bdfconv/.gitignore new file mode 100644 index 00000000..b21f5936 --- /dev/null +++ b/tools/font/bdfconv/.gitignore @@ -0,0 +1 @@ +bdfconv diff --git a/tools/font/bdfconv/Makefile b/tools/font/bdfconv/Makefile index 85bc6d08..7efea373 100644 --- a/tools/font/bdfconv/Makefile +++ b/tools/font/bdfconv/Makefile @@ -1,9 +1,17 @@ # works within ubuntu and min-gw (win7) environment # win7 exe uploaded on google drive +# requires gcc, eg. on Ubuntu "sudo apt install build-essential" CC = gcc -CFLAGS = -g -Wall -#CFLAGS = -O4 -Wall +CFLAGS = -O4 -Wall -Werror + +# for debugging ("make clean" after switching) +#CFLAGS = -g -Wall -Werror + +# more portable statically linked linux binary ("make clean" after switching) +# requires musl-gcc, eg. on Ubuntu "sudo apt install musl-dev" +#CC = x86_64-linux-musl-gcc +#LDFLAGS = -static SRC = main.c bdf_font.c bdf_glyph.c bdf_parser.c bdf_map.c bdf_rle.c bdf_tga.c fd.c bdf_8x8.c bdf_kern.c @@ -13,11 +21,13 @@ ASM = $(SRC:.c=.s) .c.s: $(CC) $(CFLAGS) -S -o $@ $< -bdfconv: $(OBJ) $(ASM) +bdfconv: $(OBJ) $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ) -o bdfconv +asm: $(ASM) + clean: - -rm $(OBJ) $(ASM) bdfconv + $(RM) *.o *.s bdfconv test: bdfconv ./bdfconv diff --git a/tools/font/bdfconv/bdf_map.c b/tools/font/bdfconv/bdf_map.c index 4392a56c..e56a8163 100644 --- a/tools/font/bdfconv/bdf_map.c +++ b/tools/font/bdfconv/bdf_map.c @@ -313,7 +313,10 @@ int bf_MapFile(bf_t *bf, const char *map_file_name) s = malloc(buf.st_size+1); if ( s == NULL ) return 0; - fread(s, buf.st_size, 1, fp); + if ( fread(s, buf.st_size, 1, fp) != 1 ) { + free(s); + return 0; + } s[buf.st_size] = '\0'; fclose(fp); bf_Map(bf, s);