- mp->msgstats = mh_xrealloc (mp->msgstats, MSGSTATSIZE(mp, lo, hi));
+
+ for (i = old_size, v = &mp->msgstats[old_size-1]; i > new_size;
+ --i, --v) {
+ bvector_free (*v);
+ }
+ mp->num_msgstats = MSGSTATNUM (lo, hi);
+ mp->msgstats =
+ mh_xrealloc (mp->msgstats, MSGSTATSIZE(mp));
+ for (i = old_size, v = &mp->msgstats[old_size]; i < new_size;
+ ++i, ++v) {
+ *v = bvector_create (0);
+ }