diff options
author | John Keeping | 2015-08-13 12:14:19 +0100 |
---|---|---|
committer | Jason A. Donenfeld | 2015-08-13 15:38:35 +0200 |
commit | 7105a78b17b118866aee77735e26cffcd1fd08fd (patch) | |
tree | d41495b5e039be7cd5943e206b4f1a173542c07c | |
parent | cgit.h: move stdbool.h from ui-shared.h (diff) | |
download | cgit-7105a78b17b118866aee77735e26cffcd1fd08fd.tar.gz cgit-7105a78b17b118866aee77735e26cffcd1fd08fd.zip |
ui-tree: use "sane" isgraph()
Git's git-compat-util.h defines a "sane ctype" that does not use locale information and works with signed chars, but it does not include isgraph() so we have included ctype.h ourselves. However, this means we have to include a system header before git-compat-util.h which may lead to the system defining some macros (e.g. _FILE_OFFSET_BITS on Solaris) before git-compat-util.h redefines them with a different value. We cannot include ctype.h after git-compat-util.h because we have defined many of its functions as macros which causes a stream of compilation errors. Defining our own "sane" isgraph() using Git's sane isprint() and isspace() avoids all of these problems. Signed-off-by: John Keeping <john@keeping.me.uk>
-rw-r--r-- | cgit.h | 3 | ||||
-rw-r--r-- | ui-tree.c | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/cgit.h b/cgit.h index 508179a..f327627 100644 --- a/cgit.h +++ b/cgit.h | |||
@@ -25,6 +25,9 @@ | |||
25 | #include <notes.h> | 25 | #include <notes.h> |
26 | #include <graph.h> | 26 | #include <graph.h> |
27 | 27 | ||
28 | /* Add isgraph(x) to Git's sane ctype support (see git-compat-util.h) */ | ||
29 | #undef isgraph | ||
30 | #define isgraph(x) (isprint((x)) && !isspace((x))) | ||
28 | 31 | ||
29 | /* | 32 | /* |
30 | * Dateformats used on misc. pages | 33 | * Dateformats used on misc. pages |
diff --git a/ui-tree.c b/ui-tree.c index c8d24f6..2dbe89e 100644 --- a/ui-tree.c +++ b/ui-tree.c | |||
@@ -6,7 +6,6 @@ | |||
6 | * (see COPYING for full license text) | 6 | * (see COPYING for full license text) |
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include <ctype.h> | ||
10 | #include "cgit.h" | 9 | #include "cgit.h" |
11 | #include "ui-tree.h" | 10 | #include "ui-tree.h" |
12 | #include "html.h" | 11 | #include "html.h" |