Roberto Ierusalimschy
e8e39a277f
'string.format"%q"' now works for all basic types (nil, boolean,
...
numbers, and strings)
2016-04-08 18:15:02 -03:00
Roberto Ierusalimschy
fff7d42a69
LUA_PACKPADBYTE -> LUAL_PACKPADBYTE (it is an internal library
...
name, not something to be usually configured)
2016-04-07 12:40:07 -03:00
Roberto Ierusalimschy
783aa8a9da
new way to avoid infinite loops in empty matches: "Python rule"
...
("Empty matches for the pattern are replaced only when not
adjacent to a previous match")
2016-03-31 16:07:42 -03:00
Roberto Ierusalimschy
e747491b96
comments
2016-03-23 15:08:26 -03:00
Roberto Ierusalimschy
acff3ad88d
bug: 'gmatch' iterator fails when called from a coroutine different
...
from the one that created it
2016-03-23 14:12:17 -03:00
Roberto Ierusalimschy
c3e9b14d24
'\0' is a control character, no need to check it explicitly
2016-02-25 16:42:55 -03:00
Roberto Ierusalimschy
c25d59a6bd
format "%s" in 'string.format' accepts embedded zeros when it
...
has no modifiers
2015-11-25 14:28:17 -02:00
Roberto Ierusalimschy
3feb702df8
ensure argument to 'string.format("%s")' does not contain zeros
2015-11-23 09:31:21 -02:00
Roberto Ierusalimschy
789e423b32
corrected comparisons of signed (int) with unsigned (size_t)
2015-10-29 13:11:41 -02:00
Roberto Ierusalimschy
cc3a42b190
option 'c' in 'string.pack' accepts any string size (truncating
...
if larger and padding if smaller)
2015-10-28 15:56:51 -02:00
Roberto Ierusalimschy
880df57e52
detail (removed unreacheable 'break')
2015-10-08 12:53:05 -03:00
Roberto Ierusalimschy
10fffcd80a
'gmatch' keeps its state in a userdata (keeping the same 'MatchState'
...
across calls)
2015-09-28 15:05:01 -03:00
Roberto Ierusalimschy
8264dbc2bb
implemented counter to abort non-linear behavior in pattern matching
2015-09-26 15:45:03 -03:00
Roberto Ierusalimschy
5273477cb9
in 'lua_number2strx', use the call to 'l_sprintf' to add exponent
...
to result directly
2015-07-20 13:30:22 -03:00
Roberto Ierusalimschy
5aabb7a891
buffer size changed from size_t to int (it is always small) +
...
comments + assert that printf result fits in given buffer
2015-06-24 15:25:10 -03:00
Roberto Ierusalimschy
19eb6ae580
using 'snprintf' in C99 (both for documentation of buffer sizes
...
and some complains from tools)
2015-06-18 11:26:05 -03:00
Roberto Ierusalimschy
99391e24ea
new configuration macro 'l_mathlim' (simplifies some dependencies
...
on float type)
2015-05-20 14:39:23 -03:00
Roberto Ierusalimschy
48d0674c2e
more consistent use of locale radix character across Lua
2015-04-03 15:41:57 -03:00
Roberto Ierusalimschy
e723c75c02
details (avoid 'lint' warnings)
2015-03-28 16:14:47 -03:00
Roberto Ierusalimschy
2a57d2346e
detail
2015-02-09 16:05:46 -02:00
Roberto Ierusalimschy
5e8c162b6c
detail
2015-02-05 15:50:24 -02:00
Roberto Ierusalimschy
b7dfd18612
make buffer for format specification a little larger (length modifier
...
can be larger than 2, e.g. "I64")
2015-02-04 10:54:31 -02:00
Roberto Ierusalimschy
8efcd411fe
own implementation for 'string.format("%a")' for C89 platforms
2015-02-04 10:52:57 -02:00
Roberto Ierusalimschy
3509914916
BUG (when compiled with long double): buffer overflow when formatting
...
string.format("%.99f", 1e4930)
2015-01-13 15:18:25 -02:00
Roberto Ierusalimschy
57e91b4159
correct computation for limit in 'getnum'
2014-12-11 12:03:07 -02:00
Roberto Ierusalimschy
ef7d29c666
better limits for 'sting.rep' and 'string.packsize'
2014-12-11 11:40:40 -02:00
Roberto Ierusalimschy
5c519a69d3
new function 'string.packsize'
2014-12-10 09:36:03 -02:00
Roberto Ierusalimschy
32a1f54b9a
no more default size for option 'c' in pack/unpack
2014-12-04 14:25:40 -02:00
Roberto Ierusalimschy
b401d37188
detail (to avoid a "to avoid warnings" return)
2014-11-11 17:40:20 -02:00
Roberto Ierusalimschy
74e10b9c3b
details (error messages)
2014-11-08 16:12:53 -02:00
Roberto Ierusalimschy
50b18f60cb
detail
2014-11-05 16:55:43 -02:00
Roberto Ierusalimschy
ad73e5156e
more direct way to fill sign-extension extra bytes when packing
...
integers with sizes larger than lua_Integer + added comments
2014-11-05 16:50:29 -02:00
Roberto Ierusalimschy
cfabcbfb17
added macro for configuring padding value in 'string.pack'
2014-11-04 12:34:43 -02:00
Roberto Ierusalimschy
28fdbcf393
added include for 'lprefix.h', for stuff that must be added before
...
any other header file
2014-11-02 17:19:04 -02:00
Roberto Ierusalimschy
dcfc3c9405
new option '=' (native endian) for pack/unpack
2014-10-31 13:53:31 -02:00
Roberto Ierusalimschy
4542fb9f78
comments (a few extra quotes around identifiers)
2014-10-30 16:53:28 -02:00
Roberto Ierusalimschy
61c3c80177
detail
2014-10-28 16:23:31 -02:00
Roberto Ierusalimschy
fa4d5c8689
pack/unpack do not handle final '\0' as an "option" (it streches
...
unnecessarily the switch range)
2014-10-27 11:30:24 -02:00
Roberto Ierusalimschy
bdf566a8a3
`name' in comments changed to 'name'
2014-10-25 09:50:46 -02:00
Roberto Ierusalimschy
ff9ca88aa6
added some casts to avoid warnings in some compilers
2014-10-24 09:42:29 -02:00
Roberto Ierusalimschy
57559547a3
in 'pack'/'unpack', endianness and alignment treated like options +
...
small changes in names and handling of internal options ('KOption')
2014-10-20 14:44:54 -02:00
Roberto Ierusalimschy
f97c64d7bf
macros 'LUA_QL'/'LUA_QL' deprecated
2014-10-17 13:28:21 -03:00
Roberto Ierusalimschy
c172a4f7c2
'dumpint' and related functions replaced by 'string.pack'/'string.unpack'
2014-10-17 07:55:28 -03:00
Roberto Ierusalimschy
798660c9cd
deprecated "cast macros" ('luaL_checkint', 'luaL_optint', etc.)
2014-10-01 08:54:56 -03:00
Roberto Ierusalimschy
4fba117433
[un]'dumpint' -> [un]'dumpinteger'
2014-08-20 19:06:41 -03:00
Roberto Ierusalimschy
1aa5262634
do not assume numbers are coercible to strings
2014-07-30 10:59:24 -03:00
Roberto Ierusalimschy
3ccbae84d2
added some casts between integral types (to avoid warnings)
2014-07-29 13:01:00 -03:00
Roberto Ierusalimschy
68616c6669
using lua_Unsigned (instead of lua_Integer) for bit manipulation
2014-04-27 11:42:26 -03:00
Roberto Ierusalimschy
3d4913f703
back to larger sizes for 'dumpint/undumpint' (small Lua should
...
be able to dump/undump long-long integers)
2014-04-16 15:48:31 -03:00
Roberto Ierusalimschy
a2c094fe2d
size of strings in 'string.rep' should be limited by the size of
...
lua_Integer, not of 'int'
2014-04-14 13:59:46 -03:00
Roberto Ierusalimschy
ef789d4161
new global macro 'LUA_MAXUNSIGNED'
2014-04-12 11:45:10 -03:00
Roberto Ierusalimschy
115fa77009
maximum size for dump of integers is size of lua_Integer (which
...
means that there is no overflows when undumping)
2014-04-10 16:45:43 -03:00
Roberto Ierusalimschy
561030c211
pack/unpack functions renamed dump/undump
2014-04-10 15:24:12 -03:00
Roberto Ierusalimschy
48c745a611
avoid constant overflow when shifting left signed integers until
...
their last bit
2014-04-03 10:29:24 -03:00
Roberto Ierusalimschy
8ef9117924
fancier way to do sign extension
2014-03-31 15:38:26 -03:00
Roberto Ierusalimschy
420cc62fac
missplelling in comments/function names (endianess -> endianness)
2014-03-27 12:58:05 -03:00
Roberto Ierusalimschy
2d5e2212d4
native lua_Number may be neither float nor double (in pack/unpackfloat)
2014-03-21 11:26:44 -03:00
Roberto Ierusalimschy
da4811238a
details (typos in comments)
2014-03-21 10:52:33 -03:00
Roberto Ierusalimschy
ad40bb1181
detail in string.rep: allow large repetitions of the empty string (no
...
possibility of overflows)
2014-03-12 15:09:06 -03:00
Roberto Ierusalimschy
6318de80d3
added 'strip' parameter to lua_dump/string.dump
2014-02-25 11:30:21 -03:00
Roberto Ierusalimschy
916bd874ad
added explicit default options to string.pack/unpack functions
2014-01-09 14:21:28 -02:00
Roberto Ierusalimschy
cd848cab6b
first implementation for string.pack/unpackfloat + try not to assume
...
that chars have 8 bits
2014-01-08 16:34:34 -02:00
Roberto Ierusalimschy
29256e8960
first implementation of string.packint/string.unpackint
2014-01-05 12:05:58 -02:00
Roberto Ierusalimschy
7c4cc505db
added "reasonable" limit for 'string.rep' (otherwise it is too easy
...
to crash the machine)
2013-06-20 12:06:51 -03:00
Roberto Ierusalimschy
55f566bd22
use lua_Integer for integer parameters to avoid truncation
2013-06-19 11:29:01 -03:00
Roberto Ierusalimschy
c5069528e1
details ('Type* id' -> 'Type *id')
2013-06-07 11:51:10 -03:00
Roberto Ierusalimschy
944709c77b
more definitions to support integer formatting
2013-04-25 10:52:13 -03:00
Roberto Ierusalimschy
53480f1163
details (remove of some extra spaces)
2012-08-14 15:12:34 -03:00
Roberto Ierusalimschy
6625cbecd1
Bug: Some patterns can overflow the C stack, due to recursion
...
(Took the opportunity to refactor function 'match')
2012-07-31 14:48:42 -03:00
Roberto Ierusalimschy
054c20cd5b
spaces -> tabs in #defines
2012-05-23 12:37:09 -03:00
Roberto Ierusalimschy
048be9cf27
different scheme to check arguments to '%d', '%x', etc. Old scheme
...
did not work well when lua_Number is an integer.
2012-04-20 10:16:48 -03:00
Roberto Ierusalimschy
462375ba47
'if' to avoid empty 'memcpy' (may be expensive)
2012-04-03 16:06:19 -03:00
Roberto Ierusalimschy
f1d2ac3a98
allow non-integer arguments to integer formats (%d, %x, etc.),
...
but check range
2011-11-30 16:24:56 -02:00
Roberto Ierusalimschy
5a568a3b01
detail (comment)
2011-10-25 10:01:20 -02:00
Roberto Ierusalimschy
b5bf7d9ef4
'string.format' checks whether values for integer formats are
...
actually integers
2011-08-09 17:58:29 -03:00
Roberto Ierusalimschy
17526ed2fe
no more errors on accesses to 'string' and strings
2011-06-28 14:13:52 -03:00
Roberto Ierusalimschy
817f8674af
avoid warning about -unsigned value
2011-06-16 11:14:31 -03:00
Roberto Ierusalimschy
c9d1d9f9c6
better way to test overflows with string indices
2011-06-09 15:22:47 -03:00
Roberto Ierusalimschy
ad2531a0ee
more complete (and hopefuly more correct) handling of 'sizeof(char)'
2011-05-03 13:01:57 -03:00
Roberto Ierusalimschy
bad231c481
'LUA_USELONGLONG' -> 'LUA_USE_LONGLONG'
2011-04-20 13:36:28 -03:00
Roberto Ierusalimschy
a25416a8d5
use of 'luaL_tolstring' for option '%s' in 'string.format'
2011-03-18 16:02:33 -03:00
Roberto Ierusalimschy
e7a9c45a48
trying to avoid assumption that sizeof(char)==1
2011-02-07 17:15:24 -02:00
Roberto Ierusalimschy
c4ea0c3b29
detail (cleaning trailing spaces)
2011-01-26 14:30:02 -02:00
Roberto Ierusalimschy
7106c491dd
'sep' argument to 'string.rep' + 'string.rep' preallocates entire
...
buffer before creating resulting string
2011-01-12 18:36:01 -02:00
Roberto Ierusalimschy
8980c630bf
error when indexing strings with invalid keys
2010-12-20 15:25:36 -02:00
Roberto Ierusalimschy
af119c8b55
official support for floating hexa numerals
2010-12-10 17:03:46 -02:00
Roberto Ierusalimschy
a2eaad5d81
'gfind' was deprecated in 5.1
2010-11-19 14:25:51 -02:00
Roberto Ierusalimschy
24baa919c1
small bug: 'find' did not detect magic chars after a \0 in a pattern
...
and did a plain search in those cases
2010-11-16 18:39:41 -02:00
Roberto Ierusalimschy
43ec354722
added support for conditional use of %Lg when using long double
2010-11-08 15:38:37 -02:00
Roberto Ierusalimschy
fdd5f2f7a3
comment typos
2010-10-29 15:52:46 -02:00
Roberto Ierusalimschy
4590a89b32
corrected warnings from different compilers (mostly casts and small
...
details)
2010-10-25 17:01:37 -02:00
Roberto Ierusalimschy
7192afafee
new module policy: C modules do not create globals and do not register
...
themselves with 'require' (let 'require' do its work); new auxiliary
functions luaL_newlib/luaL_newlibtable/luaL_setfuncs/luaL_requiref.
Old luaL_register will be deprecated.
2010-07-02 08:38:13 -03:00
Roberto Ierusalimschy
5a7dee0c5d
added class '%g' in patterns (for graphical characters)
2010-05-24 16:34:57 -03:00
Roberto Ierusalimschy
658ea8752b
no need to handle '\0' differently from other control chars in
...
format '%q'
2010-05-04 14:20:33 -03:00
Roberto Ierusalimschy
fc6203ee43
BUG: 'string.format' may get buffer when there are missing arguments
2010-04-12 13:13:02 -03:00
Roberto Ierusalimschy
4541243355
patterns now accept '\0' as a regular character
2010-04-12 09:00:50 -03:00
Roberto Ierusalimschy
9100f7479a
new implementation for Generic Buffer manipulation (using userdata as
...
temporary buffer space)
2010-04-09 13:14:46 -03:00
Roberto Ierusalimschy
1fd4c482a0
reorganization of switch in function 'match' (details)
2010-01-04 14:37:19 -02:00
Roberto Ierusalimschy
46f1429936
more options moved from luaconf.h into internal files
2009-12-17 10:50:20 -02:00
Roberto Ierusalimschy
de6fc75d63
several configuration options that do not change often moved out of
...
luaconf.h and into more internal files
2009-12-17 10:26:09 -02:00