diff --git a/sys-devel/bison/bison-2.4-haiku.diff b/sys-devel/bison/bison-2.4-haiku.diff new file mode 100644 index 000000000..7f3e5377c --- /dev/null +++ b/sys-devel/bison/bison-2.4-haiku.diff @@ -0,0 +1,43 @@ +diff -ur bison-2.4.orig/lib/config.charset bison-2.4/lib/config.charset +--- bison-2.4.orig/lib/config.charset 2008-11-02 21:59:28.000000000 +0000 ++++ bison-2.4/lib/config.charset 2008-11-09 14:56:56.000000000 +0000 +@@ -478,8 +478,8 @@ + # space nevertheless. + echo "* UTF-8" + ;; +- beos*) +- # BeOS has a single locale, and it has UTF-8 encoding. ++ beos*|haiku*) ++ # BeOS has a single locale, and it has UTF-8 encoding. Same for Haiku. + echo "* UTF-8" + ;; + msdosdjgpp*) +diff -ur bison-2.4.orig/src/location.c bison-2.4/src/location.c +--- bison-2.4.orig/src/location.c 2008-08-17 06:15:28.000000000 +0000 ++++ bison-2.4/src/location.c 2008-11-09 15:03:06.000000000 +0000 +@@ -121,11 +121,11 @@ + /* Must search in reverse since the file name field may + * contain `.' or `:'. */ + char *delim = strrchr (loc_str, '.'); +- aver (delim); ++ aver (delim != NULL); + *delim = '\0'; + bound->column = atoi (delim+1); + delim = strrchr (loc_str, ':'); +- aver (delim); ++ aver (delim != NULL); + *delim = '\0'; + bound->line = atoi (delim+1); + bound->file = uniqstr_new (loc_str); +diff -ur bison-2.4.orig/src/muscle_tab.c bison-2.4/src/muscle_tab.c +--- bison-2.4.orig/src/muscle_tab.c 2008-08-17 06:15:28.000000000 +0000 ++++ bison-2.4/src/muscle_tab.c 2008-11-09 15:11:17.000000000 +0000 +@@ -336,7 +336,7 @@ + { + location loc; + char const *value = muscle_find_const (key); +- aver (value); ++ aver (value != NULL); + aver (*value == '['); + aver (*++value == '['); + while (*++value)