]> git.saurik.com Git - redis.git/commit - src/ziplist.c
Don't assume that "char" is signed.
authorantirez <antirez@gmail.com>
Wed, 18 Jul 2012 10:01:43 +0000 (12:01 +0200)
committerantirez <antirez@gmail.com>
Wed, 18 Jul 2012 10:01:43 +0000 (12:01 +0200)
commit82675c86a622b7955e3faec0096c844caf2e88af
treebb9c9b76097bf9807002b1c3dd217f90aaf2ff7a
parent8a8e01f4a7d8658d992be1ad45511d4c4f70a1c2
Don't assume that "char" is signed.

For the C standard char can be either signed or unsigned, it's up to the
compiler, but Redis assumed that it was signed in a few places.

The practical effect of this patch is that now Redis 2.6 will run
correctly in every system where char is unsigned, notably the RaspBerry
PI and other ARM systems with GCC.

Thanks to Georgi Marinov (@eesn on twitter) that reported the problem
and allowed me to use his RaspBerry via SSH to trace and fix the issue!
src/bitops.c
src/ziplist.c