** generic allocation routine. */
| 7248 | ** generic allocation routine. |
| 7249 | */ |
| 7250 | void *luaM_realloc_ (lua_State *L, void *block, size_t osize, size_t nsize) { |
| 7251 | global_State *g = G(L); |
| 7252 | lua_assert((osize == 0) == (block == NULL)); |
| 7253 | block = (*g->frealloc)(g->ud, block, osize, nsize); |
| 7254 | if (block == NULL && nsize > 0) |
| 7255 | luaD_throw(L, LUA_ERRMEM); |
| 7256 | lua_assert((nsize == 0) == (block == NULL)); |
| 7257 | g->totalbytes = (g->totalbytes - osize) + nsize; |
| 7258 | return block; |
| 7259 | } |
| 7260 | |
| 7261 | /* |
| 7262 | ** $Id: lobject.c,v 2.22.1.1 2007/12/27 13:02:25 roberto Exp $ |