diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2001-06-15 17:36:57 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2001-06-15 17:36:57 -0300 |
| commit | 8e586c13fcf3066886a7edd69011304eaad57a2b (patch) | |
| tree | 417c2102ba8c4d693c49a2df839612d371eded50 /lapi.c | |
| parent | eadf2aaaffa7a35e7f67b150ce0d57f2c17b9231 (diff) | |
| download | lua-8e586c13fcf3066886a7edd69011304eaad57a2b.tar.gz lua-8e586c13fcf3066886a7edd69011304eaad57a2b.tar.bz2 lua-8e586c13fcf3066886a7edd69011304eaad57a2b.zip | |
cleaner way to ensure alignment for strings and userdata
Diffstat (limited to 'lapi.c')
| -rw-r--r-- | lapi.c | 14 |
1 files changed, 7 insertions, 7 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lapi.c,v 1.144 2001/06/08 19:00:57 roberto Exp roberto $ | 2 | ** $Id: lapi.c,v 1.145 2001/06/15 19:16:41 roberto Exp roberto $ |
| 3 | ** Lua API | 3 | ** Lua API |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -244,11 +244,11 @@ LUA_API size_t lua_strlen (lua_State *L, int index) { | |||
| 244 | if (o == NULL) | 244 | if (o == NULL) |
| 245 | return 0; | 245 | return 0; |
| 246 | else if (ttype(o) == LUA_TSTRING) | 246 | else if (ttype(o) == LUA_TSTRING) |
| 247 | return tsvalue(o)->len; | 247 | return tsvalue(o)->tsv.len; |
| 248 | else { | 248 | else { |
| 249 | size_t l; | 249 | size_t l; |
| 250 | lua_lock(L); /* `luaV_tostring' may create a new string */ | 250 | lua_lock(L); /* `luaV_tostring' may create a new string */ |
| 251 | l = (luaV_tostring(L, o) == 0) ? tsvalue(o)->len : 0; | 251 | l = (luaV_tostring(L, o) == 0) ? tsvalue(o)->tsv.len : 0; |
| 252 | lua_unlock(L); | 252 | lua_unlock(L); |
| 253 | return l; | 253 | return l; |
| 254 | } | 254 | } |
| @@ -263,7 +263,7 @@ LUA_API lua_CFunction lua_tocfunction (lua_State *L, int index) { | |||
| 263 | 263 | ||
| 264 | LUA_API void *lua_touserdata (lua_State *L, int index) { | 264 | LUA_API void *lua_touserdata (lua_State *L, int index) { |
| 265 | StkId o = luaA_indexAcceptable(L, index); | 265 | StkId o = luaA_indexAcceptable(L, index); |
| 266 | return (o == NULL || ttype(o) != LUA_TUSERDATA) ? NULL : uvalue(o)->value; | 266 | return (o == NULL || ttype(o) != LUA_TUSERDATA) ? NULL : uvalue(o)->uv.value; |
| 267 | } | 267 | } |
| 268 | 268 | ||
| 269 | 269 | ||
| @@ -633,7 +633,7 @@ LUA_API void lua_settag (lua_State *L, int tag) { | |||
| 633 | hvalue(L->top-1)->htag = tag; | 633 | hvalue(L->top-1)->htag = tag; |
| 634 | break; | 634 | break; |
| 635 | case LUA_TUSERDATA: | 635 | case LUA_TUSERDATA: |
| 636 | uvalue(L->top-1)->tag = tag; | 636 | uvalue(L->top-1)->uv.tag = tag; |
| 637 | break; | 637 | break; |
| 638 | default: | 638 | default: |
| 639 | luaO_verror(L, l_s("cannot change the tag of a %.20s"), | 639 | luaO_verror(L, l_s("cannot change the tag of a %.20s"), |
| @@ -744,7 +744,7 @@ LUA_API void *lua_newuserdata (lua_State *L, size_t size) { | |||
| 744 | void *p; | 744 | void *p; |
| 745 | lua_lock(L); | 745 | lua_lock(L); |
| 746 | u = pushnewudata(L, size); | 746 | u = pushnewudata(L, size); |
| 747 | p = u->value; | 747 | p = u->uv.value; |
| 748 | lua_unlock(L); | 748 | lua_unlock(L); |
| 749 | return p; | 749 | return p; |
| 750 | } | 750 | } |
| @@ -754,7 +754,7 @@ LUA_API void lua_newuserdatabox (lua_State *L, void *p) { | |||
| 754 | Udata *u; | 754 | Udata *u; |
| 755 | lua_lock(L); | 755 | lua_lock(L); |
| 756 | u = pushnewudata(L, 0); | 756 | u = pushnewudata(L, 0); |
| 757 | u->value = p; | 757 | u->uv.value = p; |
| 758 | lua_unlock(L); | 758 | lua_unlock(L); |
| 759 | } | 759 | } |
| 760 | 760 | ||
