/* not much point in classifying quotes... */
if (*QuoteList == NULL) {
- class = (struct q_class_t *) mem_calloc (1, sizeof (struct q_class_t));
+ class = p_new(struct q_class_t, 1);
class->color = ColorQuote[0];
*QuoteList = class;
}
/* found shorter prefix */
if (tmp == NULL) {
/* add a node above q_list */
- tmp =
- (struct q_class_t *) mem_calloc (1, sizeof (struct q_class_t));
- tmp->prefix = (char *) mem_calloc (1, length + 1);
- strncpy (tmp->prefix, qptr, length);
+ tmp = p_new(struct q_class_t, 1);
+ tmp->prefix = p_dupstr(qptr, length);
tmp->length = length;
/* replace q_list by tmp in the top level list */
/* found shorter common prefix */
if (tmp == NULL) {
/* add a node above q_list */
- tmp = (struct q_class_t *) mem_calloc (1,
- sizeof (struct
- q_class_t));
- tmp->prefix = (char *) mem_calloc (1, length + 1);
- strncpy (tmp->prefix, qptr, length);
+ tmp = p_new(struct q_class_t, 1);
+ tmp->prefix = p_dupstr(qptr, length);
tmp->length = length;
/* replace q_list by tmp */
/* still not found so far: add it as a sibling to the current node */
if (class == NULL) {
- tmp =
- (struct q_class_t *) mem_calloc (1, sizeof (struct q_class_t));
- tmp->prefix = (char *) mem_calloc (1, length + 1);
- strncpy (tmp->prefix, qptr, length);
+ tmp = p_new(struct q_class_t, 1);
+ tmp->prefix = p_dupstr(qptr, length);
tmp->length = length;
if (ptr->down) {
if (class == NULL) {
/* not found so far: add it as a top level class */
- class = (struct q_class_t *) mem_calloc (1, sizeof (struct q_class_t));
- class->prefix = (char *) mem_calloc (1, length + 1);
- strncpy (class->prefix, qptr, length);
+ class = p_new(struct q_class_t, 1);
+ class->prefix = p_dupstr(qptr, length);
class->length = length;
new_class_color (class, q_level);