diff options
author | sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> | 2020-12-25 14:21:36 +0100 |
---|---|---|
committer | sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> | 2020-12-25 14:23:23 +0100 |
commit | c803df72ca91c25cc224c6c871524f89fc9a6c6b (patch) | |
tree | 6c81bd39cae8ed313616d240cfea65d6bc560b5c | |
parent | b7e7ed739ff8b05a3469f89bd6cce2a432f4f3e4 (diff) |
fix(library): get rid of GNU C extensions to fix build with clang
-rw-r--r-- | bitmap.c | 20 | ||||
-rw-r--r-- | build_config | 2 | ||||
-rw-r--r-- | default.exe.do | 2 | ||||
-rw-r--r-- | default.o.do | 3 | ||||
-rw-r--r-- | include/buchstabensuppe.h | 4 | ||||
-rw-r--r-- | util.h | 13 |
6 files changed, 13 insertions, 31 deletions
diff --git a/bitmap.c b/bitmap.c index 98140e3..837143b 100644 --- a/bitmap.c +++ b/bitmap.c @@ -6,14 +6,12 @@ #include <buchstabensuppe/bitmap.h> -#include "util.h" - bool bs_bitmap_extend(bs_bitmap_t *b, int new_w, int new_h, unsigned char init) { - int diff_x = MAX(new_w - b->bs_bitmap_width, 0); - int diff_y = MAX(new_h - b->bs_bitmap_height, 0); + int diff_x = fmax(new_w - b->bs_bitmap_width, 0); + int diff_y = fmax(new_h - b->bs_bitmap_height, 0); - new_w = MAX(new_w, b->bs_bitmap_width); - new_h = MAX(new_h, b->bs_bitmap_height); + new_w = fmax(new_w, b->bs_bitmap_width); + new_h = fmax(new_h, b->bs_bitmap_height); if(diff_y == 0 && diff_x == 0) { return true; @@ -117,11 +115,11 @@ void bs_bitmap_copy(bs_bitmap_t dst, int offset_x, int offset_y, bs_bitmap_t src // TODO optimized implementation for when widths are equal // and offset_x == 0 - int src_min_y = MAX(0, (-1) * offset_y); - int src_max_y = MIN(dst.bs_bitmap_height - offset_y, src.bs_bitmap_height); + int src_min_y = fmax(0, (-1) * offset_y); + int src_max_y = fmin(dst.bs_bitmap_height - offset_y, src.bs_bitmap_height); - int src_min_x = MAX(0, (-1) * offset_x); - int src_max_x = MIN(dst.bs_bitmap_width - offset_x, src.bs_bitmap_width); + int src_min_x = fmax(0, (-1) * offset_x); + int src_max_x = fmin(dst.bs_bitmap_width - offset_x, src.bs_bitmap_width); for(int y = src_min_y; y < src_max_y; y++) { int dst_y = y + offset_y; @@ -166,7 +164,7 @@ uint8_t *bs_view_bitarray(bs_view_t view, size_t *size, unsigned char def) { for(int y = view.bs_view_offset_y; y < view_max_y; y++) { for(int x = view.bs_view_offset_x; x < view_max_x; x = x + 8) { uint8_t byte = 0; - int max_i = MIN(8, view_max_x - x); + int max_i = fmin(8, view_max_x - x); for(int i = 0; i < max_i; i++) { // reduce pixel to a single bit works regardless of monospace and diff --git a/build_config b/build_config index eeae406..de0a536 100644 --- a/build_config +++ b/build_config @@ -1,7 +1,7 @@ AR=ar RANLIB=ranlib CC=cc -CFLAGS="-W -Wall -Wextra -Os -std=c99 -g -lm" +CFLAGS="-W -Wall -Wextra -pedantic -Os -std=c99 -g" CFLAGS="$CFLAGS -Iinclude -Ithird_party/stb" # vim: ft=sh diff --git a/default.exe.do b/default.exe.do index 9c01326..36449a2 100644 --- a/default.exe.do +++ b/default.exe.do @@ -4,6 +4,6 @@ source ./build_config DEPS="$2.o libbuchstabensuppe.a" redo-ifchange $DEPS -$CC $CFLAGS -o "$3" "$2.o" -L. -lharfbuzz -lutf8proc -lbuchstabensuppe +$CC $CFLAGS -o "$3" "$2.o" -L. -lm -lharfbuzz -lutf8proc -lbuchstabensuppe # vim: ft=sh diff --git a/default.o.do b/default.o.do index 3540f24..efc006b 100644 --- a/default.o.do +++ b/default.o.do @@ -21,9 +21,6 @@ case "$2" in redo-ifchange buchstabensuppe.o redo-ifchange flipdot.o ;; - bitmap) - redo-ifchange util.h - ;; flipdot) redo-ifchange bitmap.o ;; diff --git a/include/buchstabensuppe.h b/include/buchstabensuppe.h index 7573aff..03f6aa1 100644 --- a/include/buchstabensuppe.h +++ b/include/buchstabensuppe.h @@ -50,8 +50,8 @@ typedef struct bs_font { } bs_font_t; enum bs_rendering_flag { - BS_RENDER_BINARY = 0b001, - BS_RENDER_NO_FALLBACK = 0b100, + BS_RENDER_BINARY = 0x01, + BS_RENDER_NO_FALLBACK = 0x04, }; typedef struct bs_context { diff --git a/util.h b/util.h deleted file mode 100644 index d6d9ed6..0000000 --- a/util.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef BUCHSTABENSUPPE_UTIL_H -#define BUCHSTABENSUPPE_UTIL_H - -#define MAX(a,b) \ - ({ __typeof__ (a) _a = (a); \ - __typeof__ (b) _b = (b); \ - _a > _b ? _a : _b; }) -#define MIN(a,b) \ - ({ __typeof__ (a) _a = (a); \ - __typeof__ (b) _b = (b); \ - _a < _b ? _a : _b; }) - -#endif |