diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2019-03-13 14:14:40 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2019-03-13 14:14:40 -0300 |
commit | c5feac2b5edf86aa9bdc4b8acd5380f2fe9e197f (patch) | |
tree | a1e8a11973681bc207060809a9cb7119abdc22c1 | |
parent | dfebe439db76b5c9fd9b4e3877857e2449c8ad87 (diff) | |
download | lua-github-c5feac2b5edf86aa9bdc4b8acd5380f2fe9e197f.tar.gz |
Strings inside Lua are not fully aligned
Removed code to ensure that strings inside Lua (as returned by
'lua_tolstring') always start in fully aligned addresses.
Since version 5.3 the documentation does not ensure that.
-rw-r--r-- | lobject.h | 10 | ||||
-rw-r--r-- | lstring.h | 2 |
2 files changed, 2 insertions, 10 deletions
@@ -350,21 +350,13 @@ typedef struct TString { } TString; -/* -** Ensures that address after this type is always fully aligned. -*/ -typedef union UTString { - LUAI_MAXALIGN; /* ensures maximum alignment for strings */ - TString tsv; -} UTString; - /* ** Get the actual string (array of bytes) from a 'TString'. ** (Access to 'extra' ensures that value is really a 'TString'.) */ #define getstr(ts) \ - check_exp(sizeof((ts)->extra), cast_charp((ts)) + sizeof(UTString)) + check_exp(sizeof((ts)->extra), cast_charp((ts)) + sizeof(TString)) /* get the actual string (array of bytes) from a Lua value */ @@ -19,7 +19,7 @@ #define MEMERRMSG "not enough memory" -#define sizelstring(l) (sizeof(union UTString) + ((l) + 1) * sizeof(char)) +#define sizelstring(l) (sizeof(TString) + ((l) + 1) * sizeof(char)) #define luaS_newliteral(L, s) (luaS_newlstr(L, "" s, \ (sizeof(s)/sizeof(char))-1)) |