c style allocation macros; string and podarray use reallocation