From 58b8771ff9a9c397ea49605db216a5e5a777c057 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Mon, 25 Oct 1999 16:24:41 +0000 Subject: Fix a slight oddity in index generation, revealed by error testing [originally from svn r256] --- index.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/index.c b/index.c index 4d7cfe9..a6d30f8 100644 --- a/index.c +++ b/index.c @@ -142,13 +142,15 @@ void build_index(index *i) { t->nrefs = t->nexplicit; ta = t->explicit_texts; } - t->refs = mknewa(indexentry *, t->nrefs); - for (j = 0; j < t->nrefs; j++) { - indexentry *ent = mknew(indexentry); - ent->text = *ta++; - t->refs[j] = add23(i->entries, ent, compare_entries); - if (t->refs[j] != ent) /* duplicate */ - sfree(ent); + if (t->nrefs) { + t->refs = mknewa(indexentry *, t->nrefs); + for (j = 0; j < t->nrefs; j++) { + indexentry *ent = mknew(indexentry); + ent->text = *ta++; + t->refs[j] = add23(i->entries, ent, compare_entries); + if (t->refs[j] != ent) /* duplicate */ + sfree(ent); + } } } } -- cgit v1.1