=================================================================== RCS file: /cvs/mandoc/man.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -p -r1.39 -r1.40 --- mandoc/man.c 2009/08/22 09:10:38 1.39 +++ mandoc/man.c 2009/09/16 14:40:56 1.40 @@ -1,4 +1,4 @@ -/* $Id: man.c,v 1.39 2009/08/22 09:10:38 kristaps Exp $ */ +/* $Id: man.c,v 1.40 2009/09/16 14:40:56 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -105,9 +105,6 @@ man_free(struct man *man) { man_free1(man); - - if (man->htab) - man_hash_free(man->htab); free(man); } @@ -125,14 +122,11 @@ man_alloc(void *data, int pflags, const struct man_cb return(NULL); } + man_hash_init(); + p->data = data; p->pflags = pflags; (void)memcpy(&p->cb, cb, sizeof(struct man_cb)); - - if (NULL == (p->htab = man_hash_alloc())) { - free(p); - return(NULL); - } return(p); } @@ -513,7 +507,7 @@ man_pmacro(struct man *m, int ln, char *buf) return(1); } - if (MAN_MAX == (c = man_hash_find(m->htab, mac))) { + if (MAN_MAX == (c = man_hash_find(mac))) { if ( ! (MAN_IGN_MACRO & m->pflags)) { (void)man_perr(m, ln, ppos, WMACRO); goto err;