#include <config.h>
-#define _GNU_SOURCE // for strndup, asprintf
-
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
};
static void
-free_words (struct word *words, int nr_words)
+free_words (struct word *words, size_t nr_words)
{
size_t i;
size_t i; \
size_t n = count_strings (strs); \
\
- if ( ! xalloc_oversized (nr_words + n, sizeof (struct word))) { \
+ if ( n > 0 && ! xalloc_oversized (nr_words + n, sizeof (struct word))) { \
struct word *w; \
w = realloc (words, sizeof (struct word) * (nr_words + n)); \
\
nr_words++; \
} \
} \
- free (strs); \
} \
+ free (strs); \
} \
} while (0)