return proto;
}
-
-struct caseproto *
-caseproto_clone (const struct caseproto *in)
-{
- struct caseproto *proto = xmalloc (caseproto_size (in->n_widths));
- proto->ref_cnt = 1;
-
- proto->n_widths = in->n_widths;
- proto->allocated_widths = in->allocated_widths;
-
- memcpy (proto->widths, in->widths, proto->n_widths * sizeof *proto->widths);
-
- proto->n_long_strings = in->n_long_strings;
- proto->long_strings = NULL;
- if ( proto->n_long_strings > 0)
- caseproto_refresh_long_string_cache__ (proto);
-
- return proto;
-}
-
static void
do_unref (void *proto_)
{
void
caseproto_refresh_long_string_cache__ (const struct caseproto *proto_)
{
- struct caseproto *proto = (struct caseproto *) proto_;
+ struct caseproto *proto = CONST_CAST (struct caseproto *, proto_);
size_t n, i;
assert (proto->long_strings == NULL);