diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-04-30 18:57:54 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-04-30 18:57:54 +0300 |
commit | 3f39626191970d57a8ad406b72474d565627b043 (patch) | |
tree | d44afa4a201a1ca8f5efc10870f69bda9276a752 /src | |
parent | a3599c1135e2eefe9bb0d910694150feddfa5439 (diff) | |
download | grecs-3f39626191970d57a8ad406b72474d565627b043.tar.gz grecs-3f39626191970d57a8ad406b72474d565627b043.tar.bz2 |
Bugfixes and improvements.
* am/grecs.m4 (GRECS_INCLUDES): New substitute variable.
* src/Makefile.am (INCLUDES): Add GRECS_INCLUDES.
* src/grecs-gram.y: Remove leftover uses of xmalloc.
* src/grecs.h (grecs_zalloc, grecs_calloc): New protos.
* src/mem.c (grecs_zalloc, grecs_calloc): New functions.
* src/wordsplit.c [ENABLE_NLS]: include gettext.h
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/grecs-gram.y | 2 | ||||
-rw-r--r-- | src/grecs.h | 1 | ||||
-rw-r--r-- | src/mem.c | 14 | ||||
-rw-r--r-- | src/wordsplit.c | 6 |
5 files changed, 22 insertions, 3 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index c97cee8..772a647 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -30,7 +30,7 @@ libgrecs_a_SOURCES = \ EXTRA_DIST=grecs-gram.h $(PP_SETUP_FILE) -INCLUDES = -I$(srcdir) +INCLUDES = -I$(srcdir) @GRECS_INCLUDES@ AM_YFLAGS = -dtv AM_LFLAGS = -dvp # Use a modified ylwrap implementation that understands the --prefix option. diff --git a/src/grecs-gram.y b/src/grecs-gram.y index ab757f8..114e151 100644 --- a/src/grecs-gram.y +++ b/src/grecs-gram.y @@ -126,7 +126,7 @@ vallist : vlist $$.type = GRECS_TYPE_ARRAY; $$.v.arg.c = n; - $$.v.arg.v = xcalloc (n, sizeof ($$.v.arg.v[0])); + $$.v.arg.v = grecs_malloc (n * sizeof ($$.v.arg.v[0])); for (i = 0, ep = $1->head; ep; i++, ep = ep->next) $$.v.arg.v[i] = *(grecs_value_t *)ep->data; } diff --git a/src/grecs.h b/src/grecs.h index 077a01e..1273c7d 100644 --- a/src/grecs.h +++ b/src/grecs.h @@ -130,6 +130,7 @@ extern void *(*grecs_realloc_fun)(void *ptr, size_t size); extern void (*grecs_alloc_die_fun) (void); void *grecs_malloc(size_t size); +void *grecs_zalloc(size_t size); void *grecs_realloc(void *ptr, size_t size); void grecs_alloc_die(void); char *grecs_strdup(const char *str); @@ -51,6 +51,20 @@ grecs_malloc(size_t size) } void * +grecs_zalloc(size_t size) +{ + void *ptr = grecs_malloc(size); + memset(ptr, 0, size); + return ptr; +} + +void * +grecs_calloc(size_t nmemb, size_t size) +{ + return grecs_zalloc(nmemb * size); +} + +void * grecs_realloc(void *ptr, size_t size) { void *newptr; diff --git a/src/wordsplit.c b/src/wordsplit.c index 347af92..ccc1080 100644 --- a/src/wordsplit.c +++ b/src/wordsplit.c @@ -26,7 +26,11 @@ #include <stdio.h> #include <stdarg.h> -#include <gettext.h> +#if ENABLE_NLS +# include <gettext.h> +#else +# define gettext(msgid) msgid +#endif #define _(msgid) gettext (msgid) #define N_(msgid) msgid |