assert (s != next);
s = next;
- if (n_specs >= n_specs_allocated)
- {
- spec = x2nrealloc (spec, &n_specs_allocated, sizeof (struct tspec));
- }
+ if (n_specs_allocated <= n_specs)
+ spec = x2nrealloc (spec, &n_specs_allocated, sizeof *spec);
- memcpy ((char *) &spec[n_specs], (char *) &tspec,
- sizeof (struct tspec));
+ memcpy (&spec[n_specs], &tspec, sizeof *spec);
++n_specs;
}
if (n_specs == 0)
{
- if (decode_one_format ("o2", "o2", NULL, &(spec[0])))
+ if (decode_format_string ("o2"))
{
/* This happens on Cray systems that don't have a 2-byte
integral type. */