#include <ctype.h>
-MODULE_ID("$Id: make_hash.c,v 1.27 2019/07/20 20:14:46 tom Exp $")
+MODULE_ID("$Id: make_hash.c,v 1.29 2019/10/19 21:02:19 tom Exp $")
/*
* _nc_make_hash_table()
int col = 0;
-#if NO_LEAKS
if (buffer == 0) {
free(list);
list = 0;
return 0;
}
-#endif
if (*buffer != '#') {
if (list == 0) {
static char *
get_type(int type_mask)
{
- static char result[40];
+ static char result[80];
unsigned n;
_nc_STRCPY(result, L_PAREN, sizeof(result));
for (n = 0; n < 3; ++n) {
if ((1 << n) & type_mask) {
+ size_t want = 5 + strlen(typenames[n]);
+ if (want > sizeof(result)) {
+ fprintf(stderr, "Buffer is not large enough for %s + %s\n",
+ result, typenames[n]);
+ exit(EXIT_FAILURE);
+ }
if (result[1])
_nc_STRCAT(result, "|", sizeof(result));
_nc_STRCAT(result, "1<<", sizeof(result));
}
free(hash_table);
-#if NO_LEAKS
for (n = 0; (n < tablesize); ++n) {
free((void *) name_table[n].ute_name);
}
free(name_table);
parse_columns(0);
-#endif
+
return EXIT_SUCCESS;
}