- char *doc;
-
- default_dict.n_documents++;
- default_dict.documents = xrealloc (default_dict.documents,
- 80 * default_dict.n_documents);
- doc = &default_dict.documents[80 * (default_dict.n_documents - 1)];
- memset (doc, ' ', indent);
- st_bare_pad_copy (&doc[indent], line, 80 - indent);
+ const char *old_documents;
+ size_t old_len;
+ char *new_documents;
+
+ old_documents = dict_get_documents (default_dict);
+ old_len = old_documents != NULL ? strlen (old_documents) : 0;
+ new_documents = xmalloc (old_len + 81);
+
+ memcpy (new_documents, old_documents, old_len);
+ memset (new_documents + old_len, ' ', indent);
+ buf_copy_str_rpad (new_documents + old_len + indent, 80 - indent, line);
+ new_documents[old_len + 80] = '\0';
+
+ dict_set_documents (default_dict, new_documents);
+
+ free (new_documents);