c style allocation macros; string and podarray use reallocate