void free ();
#endif
-#include "gettext.h"
+#include "dropin.h"
#include "xalloc.h"
#ifndef EXIT_FAILURE
int xalloc_exit_failure = EXIT_FAILURE;
/* FIXME: describe */
-char *const xalloc_msg_memory_exhausted = N_("Memory exhausted");
+char *const xalloc_msg_memory_exhausted = "Memory exhausted";
/* FIXME: describe */
-void (*xalloc_fail_func) (int) = 0;
+void (*xalloc_fail_func) (int) = NULL;
static void
xalloc_fail (int size)
/* Allocate N bytes of memory dynamically, with error checking. */
void *
-xmalloc (n)
- size_t n;
+xmalloc (size_t n)
{
void *p;
p = malloc (n);
- if (p == 0)
+ if (p == NULL)
xalloc_fail ((int)n);
return p;
}
/* Allocate N bytes of memory dynamically, and set it all to zero. */
void *
-xmalloc_and_zero (n)
- size_t n;
+xmalloc_and_zero (size_t n)
{
void *p;
p = malloc (n);
- if (p == 0)
+ if (p == NULL)
xalloc_fail ((int)n);
memset (p, '\0', n);
return p;
If P is NULL, run xmalloc. */
void *
-xrealloc (p, n)
- void *p;
- size_t n;
+xrealloc (void *p, size_t n)
{
p = realloc (p, n);
- if (p == 0)
+ if (p == NULL)
xalloc_fail (n);
return p;
}
void *p;
p = calloc (n, s);
- if (p == 0)
+ if (p == NULL)
xalloc_fail ();
return p;
}
}
int xvasprintf(char **strp, const char *fmt, va_list ap) {
+#ifdef HAVE_MINGW
+ char buf[1024];
+ int result = vsnprintf(buf, sizeof buf, fmt, ap);
+ if(result < 0)
+ exit(xalloc_exit_failure);
+ *strp = xstrdup(buf);
+#else
int result = vasprintf(strp, fmt, ap);
if(result < 0) {
fprintf(stderr, "vasprintf() failed: %s\n", strerror(errno));
exit(xalloc_exit_failure);
}
+#endif
return result;
}