Fix and reverse feature detection of asprintf function - sacc - sacc(omys), simple console gopher client HTML git clone git://bitreich.org/sacc/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/sacc/ DIR Log DIR Files DIR Refs DIR Tags DIR LICENSE --- DIR commit 3e0b5be80fdfac3c1ef3ed2e9df4bdbdea5e0091 DIR parent 17c4223fc2c7163d3bfd5681a8d2467b54d0d4da HTML Author: Hiltjo Posthuma <hiltjo@codemadness.org> Date: Sun, 25 Mar 2018 14:54:35 +0200 Fix and reverse feature detection of asprintf function The new behaviour is to define NEED_ASPRINTF for platforms when the asprintf is needed. Diffstat: M Makefile | 3 ++- M common.h | 4 ++-- M config.mk | 3 +++ M sacc.c | 4 ++-- 4 files changed, 9 insertions(+), 5 deletions(-) --- DIR diff --git a/Makefile b/Makefile @@ -32,7 +32,8 @@ uninstall: rm -f $(DESTDIR)$(PREFIX)/bin/$(BIN) # Stock FLAGS -SACCCFLAGS = -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=700 -D_BSD_SOURCE $(CFLAGS) +SACCCFLAGS = -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=700 -D_BSD_SOURCE -D_GNU_SOURCE \ + $(CFLAGS) .c.o: $(CC) $(SACCCFLAGS) -c $< DIR diff --git a/common.h b/common.h @@ -22,9 +22,9 @@ struct dir { size_t curline; }; -#ifndef asprintf +#ifdef NEED_ASPRINTF int asprintf(char **s, const char *fmt, ...); -#endif /* asprintf */ +#endif /* NEED_ASPRINTF */ void die(const char *fmt, ...); size_t mbsprint(const char *s, size_t len); const char *typedisplay(char t); DIR diff --git a/config.mk b/config.mk @@ -8,3 +8,6 @@ MANDIR = $(PREFIX)/share/man/man1 # ti (screen-oriented) UI=ti LIBS=-lcurses + +# Define NEED_ASPRINTF in your cflags is your system doesn't provide asprintf() +#CFLAGS = -DNEED_ASPRINTF DIR diff --git a/sacc.c b/sacc.c @@ -40,7 +40,7 @@ die(const char *fmt, ...) exit(1); } -#ifndef asprintf +#ifdef NEED_ASPRINTF int asprintf(char **s, const char *fmt, ...) { @@ -60,7 +60,7 @@ asprintf(char **s, const char *fmt, ...) return n; } -#endif /* asprintf */ +#endif /* NEED_ASPRINTF */ /* print `len' columns of characters. */ size_t