77 Commits

Author SHA1 Message Date
Matt Stancliff
5fc1116614 Fix lua-cmsgpack 64 bit integer on 32 bit platform
This syncs lua-cmsgpack with the mattsta/lua-cmsgpack upstream.

Fixes #2161
2014-11-24 12:45:15 -05:00
antirez
de13a823dc lua_cjson.c Lua includes: angled -> quoted. 2014-11-14 17:16:23 +01:00
antirez
35591ab436 Merge remote-tracking branch 'origin/unstable' into unstable 2014-11-14 17:10:48 +01:00
Matt Stancliff
d29c753f92 Lua: upgrade cmsgpack to 0.4.0
Main reasons for upgrade:
  - Remove a warning when building Redis
  - Add multi pack/unpack
  - Improve memory usage and use Lua allocator properly
  - Fix some edge case encoding/decoding bugs
2014-11-14 17:08:51 +01:00
Matt Stancliff
d0564a032c Lua: remove new warning added by cjson header
clang doesn't like "extern inline" when no definition
is given right away.
2014-11-14 17:08:44 +01:00
Matt Stancliff
a7fbd433f3 Lua: Use Redis solaris compatability for cjson too
cjson calls isinf, but some Solaris versions don't have isinf
even with the attempted fix we have in deps/Makefile.

We can harmlessly include the Redis solarisfixes.h header to
give cjson proper isinf.

Note: cjson has a compile-time setting for using their own defined
isinf, but the Redis definition in solarisfixes.h is more complete.

Fixes antirez#1620
2014-11-14 17:08:39 +01:00
Matt Stancliff
586579851f Lua: Upgrade cjson to 2.1.0 (2012-03-01)
The new cjson has some improvements over our current version including
increased platform compatability, a new resource limit to restrict
decode depth, and better invalid number handling.

One minor change was required to deps/Makefile because this version
of cjson doesn't export itself globally, so we added a quick little
define of -DENABLE_CJSON_GLOBAL.

cjson now has an optional higher performing float parsing interface,
but we are not including it (g_fmt.c, dtoa.c) because it requires
endianness declaration during compile time.

This commit is exactly lua_cjson.c from 2.1.0 with one minor
change of altering the two Lua includes for local search
instead of system-wide importing.
2014-11-14 17:08:33 +01:00
Matt Stancliff
c3d2758a14 Lua: Add bitop
A few people have written custom C commands because bit
manipulation isn't exposed through Lua.  Let's give
them Mike Pall's bitop.

This adds bitop 1.0.2 (2012-05-08) from http://bitop.luajit.org/

bitop is imported as "bit" into the global namespace.

New Lua commands: bit.tobit, bit.tohex, bit.bnot, bit.band, bit.bor, bit.bxor,
bit.lshift, bit.rshift, bit.arshift, bit.rol, bit.ror, bit.bswap

Verification of working (the asserts would abort on error, so (nil) is correct):
127.0.0.1:6379> eval "assert(bit.tobit(1) == 1); assert(bit.band(1) == 1); assert(bit.bxor(1,2) == 3); assert(bit.bor(1,2,4,8,16,32,64,128) == 255)" 0
(nil)
127.0.0.1:6379> eval 'assert(0x7fffffff == 2147483647, "broken hex literals"); assert(0xffffffff == -1 or 0xffffffff == 2^32-1, "broken hex literals"); assert(tostring(-1) == "-1", "broken tostring()"); assert(tostring(0xffffffff) == "-1" or tostring(0xffffffff) == "4294967295", "broken tostring()")' 0
(nil)

Tests also integrated into the scripting tests and can be run with:
./runtest --single unit/scripting

Tests are excerpted from `bittest.lua` included in the bitop distribution.
2014-10-09 11:51:30 -04:00
antirez
4b89fb5347 Linenoise README updated to match source code. 2014-10-06 09:49:44 +02:00
Aaron Rutkovsky
bd82bd65c0 Fix typos
Closes #1513
2014-09-29 06:49:07 -04:00
Matt Stancliff
04681171d5 Update linenoise accessory files
The core linenoise code was being backported, but not
the README or example.  It's less confusing for users
if everything matches across directories.

Fix inspired by @thrig

Closes #1872
2014-09-29 06:49:05 -04:00
antirez
73fc79234e Linenoise lib updated. 2014-09-22 14:55:54 +02:00
Matt Stancliff
53b0da3522 Fix hiredis getaddrinfo leak
Fixed in Redis by 6c2649b, but since that part of code
is largely copy/paste from Redis, the fix needs to be
ported over too.

Closes #2012
2014-09-18 14:47:55 -04:00
antirez
bb666fe7a4 Missing va_end also added in hiredis copy of sds.c. 2014-08-26 10:05:32 +02:00
Mariano Pérez Rodríguez
8794500289 Missing assert removal from sdsIncrLen()
Companion for 5e780be2ad0a86c98c5b9b4450f5e897923647db, but dealing with hiredis.
2014-08-25 15:24:15 -03:00
antirez
02b06ba8f0 Use unsigned integers in SDS header.
This raises the max string to 4GB without any downside.
2014-08-13 10:53:51 +02:00
Daniel Price
d4ad95a375 Define AR to help with lua cross-compilation
Closes #997
2014-08-12 11:26:34 +02:00
siahl
bb1347da8f Add support for compiling on AIX
Closes #1900
2014-08-07 12:12:54 +02:00
antirez
82d95f85f8 Silence different signs comparison warning in sds.c. 2014-06-23 11:50:24 +02:00
antirez
c52fcbddc8 Use Redis updated sds.c for deps/hiredis. 2014-06-23 11:44:50 +02:00
antirez
70ac5969a9 Dummy zmalloc.h restored into deps/hiredis. 2014-06-23 11:44:34 +02:00
Matt Stancliff
c3aad2aeee hiredis: Update to latest version
This is hiredis f225c276be7fd0646019b51023e3f41566633dfe

This update includes all changes that diverged inside of Redis since
the last update.  This version also allows optional source address
binding for connections which we need for some Sentinel deployments.
2014-06-23 11:44:34 +02:00
antirez
72090a63a7 Jemalloc updated to 3.6.0.
Not a single bug in about 3 months, and our previous version was
too old (3.2.0).
2014-06-20 14:59:20 +02:00
antirez
ddcc73bf56 Jemalloc update script added. 2014-06-20 14:53:57 +02:00
antirez
8954da8136 Linenoise updated, multiline mode enabled in redis-cli. 2014-03-13 15:11:08 +01:00
yihuang
a8ec7abb1b fix lua_cmsgpack pack map as array 2013-08-27 15:19:25 +02:00
antirez
09662d780e Fix sdsempty() prototype in sds.h. 2013-08-12 11:38:21 +02:00
antirez
b55bcdd3ab Use latest sds.c in the hiredis library under deps. 2013-07-25 10:32:19 +02:00
antirez
c3c836d3f9 hiredis: minimal IPv6 support. 2013-07-11 13:11:27 +02:00
antirez
a8d44cfdc6 Lua updated to version 5.1.5. 2013-04-29 12:00:54 +02:00
antirez
deea56d5ce Redis/Jemalloc Gitignore were too aggressive.
Redis gitignore was too aggressive since simply broken.

Jemalloc gitignore was too agressive because it is conceived to just
keep the files that allow to generate all the rest in development
environments (so for instance the "configure" file is excluded).
2013-04-18 16:23:15 +02:00
Johan Bergström
9b2ec37f13 Inherit CC for Lua 2013-03-16 18:38:37 +11:00
Johan Bergström
1fe70ba598 Spaces to tabs 2013-03-16 18:35:20 +11:00
antirez
cd6018c1cb Lua struct library updated to version 0.2.
There was a bug in the previous version of this library that caused a
crash under the circumstances described in issue #901.

The newer version of the library appears to be fixed (I tested it
manually with valgrind and everything seems fine now).

For more information about this library please visit this web site:

    http://www.inf.puc-rio.br/~roberto/struct/
2013-01-23 10:50:48 +01:00
antirez
97c3022cda Added missing license and copyright in deps/hiredis. 2012-12-17 11:11:09 +01:00
Patrick TJ McPhee
0b58a57d78 Define _XOPEN_SOURCE appropriately on NetBSD. 2012-12-12 10:49:12 -05:00
antirez
24c94d3dc5 Jemalloc updated to version 3.2.0. 2012-11-28 18:39:35 +01:00
antirez
92e3ddeef7 32 bit build fixed on Linux.
It failed because of the way jemalloc was compiled (without passing the
right flags to make, but just to configure). Now the same set of flags
are also passed to the make command, fixing the issue.

This fixes issue #744
2012-11-01 15:40:48 +01:00
antirez
33292ee595 Ctrl+w support in linenoise. 2012-10-26 16:06:25 +02:00
antirez
49ec227531 hiredis library updated.
This version of hiredis merges modifications of the Redis fork with
latest changes in the hiredis repository.

The same version was pushed on the hiredis repository and will probably
merged into the master branch in short time.
2012-08-21 17:27:01 +02:00
antirez
287caeca4c Deleted jemalloc.orig from /deps.
In the commit upgrading jemalloc to version 3.0.0 I added the old
version of Jemalloc in the 'jemalloc.orig' directory for an error.
This commit removes the not useful version of jemalloc.
2012-05-16 12:23:45 +02:00
antirez
39f8289c41 Jemalloc updated to 3.0.0.
Full changelog here:

http://www.canonware.com/cgi-bin/gitweb.cgi?p=jemalloc.git;a=blob_plain;f=ChangeLog;hb=master

Notable improvements from the point of view of Redis:

1) Bugfixing.
2) Support for Valgrind.
3) Support for OSX Lion, FreeBSD.
2012-05-16 11:09:45 +02:00
Pieter Noordhuis
b866abc78e Clean up Makefiles
Remove unused variables. Instead of overriding non-standard variables
such as ARCH and PROF, use standard variables CFLAGS and LDFLAGS to
override Makefile settings. Move dependencies generated by `make dep` to
a separate file.
2012-04-11 11:24:17 +02:00
antirez
671b6eb54c lua_cmsgpack.c added 2012-02-24 15:46:25 +01:00
antirez
1d8a84d4f0 Lua_cmsgpack added to Redis scripting. 2012-02-24 15:45:16 +01:00
antirez
80509bda87 Fix 32bit build of hiredis 2012-02-19 20:49:20 +01:00
antirez
d6e3216e2b Applied a few modifications to hiredis to tune it for speed (redis-benchmark) and ability to read more deeply nested replies (redis-cli). 2012-02-19 20:33:59 +01:00
antirez
c23e3efd71 The hiredis lib shipped with Redis was updated to latest version. 2012-02-19 20:26:50 +01:00
lsbardel
35a943766b added lua struct c extension 2012-02-13 21:05:21 +00:00
antirez
ab9d925bb9 jemalloc gitignore updated to jemalloc 2.2.5 2011-11-25 16:42:10 +01:00