#include <ctype.h>
-MODULE_ID("$Id: make_hash.c,v 1.8 2012/02/22 22:40:24 tom Exp $")
+MODULE_ID("$Id: make_hash.c,v 1.9 2012/11/18 01:30:03 tom Exp $")
/*
* _nc_make_hash_table()
#define MAX_COLUMNS BUFSIZ /* this _has_ to be worst-case */
+static int
+count_columns(char **list)
+{
+ int result = 0;
+ if (list != 0) {
+ while (*list++) {
+ ++result;
+ }
+ }
+ return result;
+}
+
static char **
parse_columns(char *buffer)
{
list = parse_columns(buffer);
if (list == 0) /* blank or comment */
continue;
+ if (column > count_columns(list)) {
+ fprintf(stderr, "expected %d columns, have %d:\n%s\n",
+ column,
+ count_columns(list),
+ buffer);
+ exit(EXIT_FAILURE);
+ }
name_table[n].nte_link = -1; /* end-of-hash */
name_table[n].nte_name = strdup(list[column]);
if (!strcmp(list[2], "bool")) {