=================================================================== RCS file: /cvs/pod2mdoc/dict.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -r1.2 -r1.3 --- pod2mdoc/dict.c 2015/02/13 09:56:59 1.2 +++ pod2mdoc/dict.c 2015/02/13 15:35:15 1.3 @@ -1,4 +1,4 @@ -/* $Id: dict.c,v 1.2 2015/02/13 09:56:59 schwarze Exp $ */ +/* $Id: dict.c,v 1.3 2015/02/13 15:35:15 schwarze Exp $ */ /* * Copyright (c) 2015 Ingo Schwarze * @@ -72,14 +72,14 @@ dict_get(const char *s, size_t len) } void -dict_put(const char *s, enum mdoc_type t) +dict_put(const char *s, size_t len, enum mdoc_type t) { struct dict_entry *entry; const char *end; - size_t len; unsigned int slot; - len = strlen(s); + if (len == 0) + len = strlen(s); end = s + len; slot = ohash_qlookupi(&dict_data, s, &end); entry = ohash_find(&dict_data, slot); @@ -89,7 +89,8 @@ dict_put(const char *s, enum mdoc_type t) perror(NULL); exit(1); } - memcpy(entry->s, s, len + 1); + memcpy(entry->s, s, len); + entry->s[len] = '\0'; ohash_insert(&dict_data, slot, entry); } entry->t = t;