diff -upr fpc-2.6.2.org/packages/lua/src/lauxlib.pas fpc-2.6.2.mod/packages/lua/src/lauxlib.pas --- fpc-2.6.2.org/packages/lua/src/lauxlib.pas 2009-08-31 17:55:09.000000000 +0900 +++ fpc-2.6.2.mod/packages/lua/src/lauxlib.pas 2013-10-19 20:52:36.000000000 +0900 @@ -289,7 +289,7 @@ end; procedure luaL_addchar(B: PluaL_Buffer; c: Char); begin - if Cardinal(@(B^.p)) < (Cardinal(@(B^.buffer[0])) + LUAL_BUFFERSIZE) then + if qword(@(B^.p)) < (qword(@(B^.buffer[0])) + LUAL_BUFFERSIZE) then luaL_prepbuffer(B); B^.p[1] := c; B^.p := B^.p + 1; diff -upr fpc-2.6.2.org/packages/lua/src/lua.pas fpc-2.6.2.mod/packages/lua/src/lua.pas --- fpc-2.6.2.org/packages/lua/src/lua.pas 2012-01-09 17:27:40.000000000 +0900 +++ fpc-2.6.2.mod/packages/lua/src/lua.pas 2013-10-19 20:38:06.000000000 +0900 @@ -52,7 +52,11 @@ const {$ENDIF} type - size_t = Cardinal; +{$IFDEF CPU64} + size_t = qword; +{$ELSE CPU64} + size_t = longword; +{$ENDIF CPU64} Psize_t = ^size_t; const