lua

A copy of the Lua development repository
Log | Files | Refs | README

commit 6321041058ec7a597a39df4564f28d5012fd7dfb
parent 2b83711fbac0509a40cfb616b9a68bdf683e8471
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date:   Fri, 19 Dec 2014 11:45:15 -0200

new macro 'luaM_reallocvchar' to allocate arrays of chars (avoids
uneeded tests and respective warnings)

Diffstat:
Mlmem.h | 7++++++-
Mlzio.h | 5+++--
2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/lmem.h b/lmem.h @@ -1,5 +1,5 @@ /* -** $Id: lmem.h,v 1.40 2013/02/20 14:08:21 roberto Exp roberto $ +** $Id: lmem.h,v 1.41 2014/10/08 20:25:51 roberto Exp roberto $ ** Interface to Memory Manager ** See Copyright Notice in lua.h */ @@ -32,6 +32,11 @@ ? luaM_toobig(L) : cast_void(0)) , \ luaM_realloc_(L, (b), (on)*(e), (n)*(e))) +/* +** Arrays of chars do not need any test +*/ +#define luaM_reallocvchar(L,b,on,n) luaM_realloc_(L, (b), (on), (n)) + #define luaM_freemem(L, b, s) luaM_realloc_(L, (b), (s), 0) #define luaM_free(L, b) luaM_realloc_(L, (b), sizeof(*(b)), 0) #define luaM_freearray(L, b, n) luaM_realloc_(L, (b), (n)*sizeof(*(b)), 0) diff --git a/lzio.h b/lzio.h @@ -1,5 +1,5 @@ /* -** $Id: lzio.h,v 1.27 2013/06/07 14:51:10 roberto Exp roberto $ +** $Id: lzio.h,v 1.28 2014/01/31 15:14:22 roberto Exp roberto $ ** Buffered streams ** See Copyright Notice in lua.h */ @@ -37,7 +37,8 @@ typedef struct Mbuffer { #define luaZ_resizebuffer(L, buff, size) \ - (luaM_reallocvector(L, (buff)->buffer, (buff)->buffsize, size, char), \ + ((buff)->buffer = cast(char *, luaM_reallocvchar(L, (buff)->buffer, \ + (buff)->buffsize, size)), \ (buff)->buffsize = size) #define luaZ_freebuffer(L, buff) luaZ_resizebuffer(L, buff, 0)