aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--am/grecs.m41
-rw-r--r--src/Makefile.am2
-rw-r--r--src/grecs-gram.y2
-rw-r--r--src/grecs.h1
-rw-r--r--src/mem.c14
-rw-r--r--src/wordsplit.c6
6 files changed, 23 insertions, 3 deletions
diff --git a/am/grecs.m4 b/am/grecs.m4
index dfed409..0b28604 100644
--- a/am/grecs.m4
+++ b/am/grecs.m4
@@ -109,4 +109,5 @@ AC_DEFUN([GRECS_SETUP],[
else
DEFAULT_PREPROCESSOR=NULL
fi
+ AC_SUBST([GRECS_INCLUDES])
])
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);
diff --git a/src/mem.c b/src/mem.c
index c3c14ec..b18cc72 100644
--- a/src/mem.c
+++ b/src/mem.c
@@ -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

Return to:

Send suggestions and report system problems to the System administrator.