From d190a0875ff0f33d60a4d7265f2098b35d162f68 Mon Sep 17 00:00:00 2001 From: Fredrik Kuivinen Date: Sun, 28 Aug 2011 22:08:46 +0200 Subject: [PATCH] obstack: Fix portability issues i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1, SunOS 5.10, and possibly others do not have exit.h and exitfail.h. Remove the use of these in obstack.c. The __block variable was renamed to block to avoid a gcc error: compat/obstack.h:190: error: __block attribute can be specified on variables only Initial-patch-by: David Aguilar Reported-by: Brian Gernhardt Signed-off-by: Fredrik Kuivinen Acked-by: David Aguilar Signed-off-by: Junio C Hamano --- compat/obstack.c | 35 ++++------------------------------- compat/obstack.h | 5 +---- kwset.c | 2 +- 3 files changed, 6 insertions(+), 36 deletions(-) diff --git a/compat/obstack.c b/compat/obstack.c index 75440d9c7..a89ab5b8e 100644 --- a/compat/obstack.c +++ b/compat/obstack.c @@ -18,17 +18,9 @@ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#ifdef _LIBC -# include -# include -#else -# include "obstack.h" -#endif +#include "git-compat-util.h" +#include +#include "obstack.h" /* NOTE BEFORE MODIFYING THIS FILE: This version number must be incremented whenever callers compiled using an old obstack.h can no @@ -103,15 +95,6 @@ enum static void print_and_abort (void); void (*obstack_alloc_failed_handler) (void) = print_and_abort; -/* Exit value used when `print_and_abort' is used. */ -# include -# ifdef _LIBC -int obstack_exit_failure = EXIT_FAILURE; -# else -# include "exitfail.h" -# define obstack_exit_failure exit_failure -# endif - # ifdef _LIBC # if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) /* A looong time ago (before 1994, anyway; we're not sure) this global variable @@ -400,16 +383,6 @@ _obstack_memory_used (struct obstack *h) return nbytes; } -/* Define the error handler. */ -# ifdef _LIBC -# include -# else -# include "gettext.h" -# endif -# ifndef _ -# define _(msgid) gettext (msgid) -# endif - # ifdef _LIBC # include # endif @@ -435,7 +408,7 @@ print_and_abort (void) # else fprintf (stderr, "%s\n", _("memory exhausted")); # endif - exit (obstack_exit_failure); + exit (1); } #endif /* !ELIDE_CODE */ diff --git a/compat/obstack.h b/compat/obstack.h index 449070e7f..d178bd671 100644 --- a/compat/obstack.h +++ b/compat/obstack.h @@ -187,7 +187,7 @@ extern int _obstack_begin_1 (struct obstack *, int, int, void (*) (void *, void *), void *); extern int _obstack_memory_used (struct obstack *); -void obstack_free (struct obstack *__obstack, void *__block); +void obstack_free (struct obstack *, void *); /* Error handler called when `obstack_chunk_alloc' failed to allocate @@ -195,9 +195,6 @@ void obstack_free (struct obstack *__obstack, void *__block); should either abort gracefully or use longjump - but shouldn't return. The default action is to print a message and abort. */ extern void (*obstack_alloc_failed_handler) (void); - -/* Exit value used when `print_and_abort' is used. */ -extern int obstack_exit_failure; /* Pointer to beginning of object being allocated or to be allocated next. Note that this might not be the final address of the object diff --git a/kwset.c b/kwset.c index fd4515a44..956ae7295 100644 --- a/kwset.c +++ b/kwset.c @@ -37,7 +37,7 @@ #include "cache.h" #include "kwset.h" -#include "obstack.h" +#include "compat/obstack.h" #define NCHAR (UCHAR_MAX + 1) #define obstack_chunk_alloc xmalloc -- 2.30.2