diff options
| author | Paul Aurich <paul@darkrain42.org> | 2011-04-27 10:42:20 -0700 |
|---|---|---|
| committer | Sam Roberts <vieuxtech@gmail.com> | 2012-04-11 13:33:34 -0700 |
| commit | 908ee2cce1740c3d873fe45b752c8aa1b1f3e306 (patch) | |
| tree | 66168122e4b81645496325a0940d33d3c31ca42a /src | |
| parent | dd83e0a8494cfd28651b54c44d51e296ba16b8c4 (diff) | |
| download | luasocket-908ee2cce1740c3d873fe45b752c8aa1b1f3e306.tar.gz luasocket-908ee2cce1740c3d873fe45b752c8aa1b1f3e306.tar.bz2 luasocket-908ee2cce1740c3d873fe45b752c8aa1b1f3e306.zip | |
Fix two crashes and add -Wshadow so that this can't happen again.
The two crashes are the s/const char *// changes in tcp.c. The rest
is cleanup so it will build.
Diffstat (limited to 'src')
| -rw-r--r-- | src/makefile | 2 | ||||
| -rw-r--r-- | src/mime.c | 44 | ||||
| -rw-r--r-- | src/tcp.c | 12 | ||||
| -rw-r--r-- | src/udp.c | 6 |
4 files changed, 32 insertions, 32 deletions
diff --git a/src/makefile b/src/makefile index 701feb3..9768ba1 100644 --- a/src/makefile +++ b/src/makefile | |||
| @@ -48,7 +48,7 @@ CC_linux=gcc | |||
| 48 | DEF_linux=-DLUASOCKET_DEBUG \ | 48 | DEF_linux=-DLUASOCKET_DEBUG \ |
| 49 | -DLUASOCKET_API='__attribute__((visibility("default")))' \ | 49 | -DLUASOCKET_API='__attribute__((visibility("default")))' \ |
| 50 | -DMIME_API='__attribute__((visibility("default")))' | 50 | -DMIME_API='__attribute__((visibility("default")))' |
| 51 | CFLAGS_linux= -I$(LUAINC) $(DEF) -pedantic -Wall -O2 -fpic \ | 51 | CFLAGS_linux= -I$(LUAINC) $(DEF) -pedantic -Wall -Wshadow -Wextra -Wimplicit -O2 -ggdb3 -fpic \ |
| 52 | -fvisibility=hidden | 52 | -fvisibility=hidden |
| 53 | LDFLAGS_linux=-O -shared -fpic -o | 53 | LDFLAGS_linux=-O -shared -fpic -o |
| 54 | LD_linux=gcc | 54 | LD_linux=gcc |
| @@ -35,12 +35,12 @@ static int mime_global_eol(lua_State *L); | |||
| 35 | static int mime_global_dot(lua_State *L); | 35 | static int mime_global_dot(lua_State *L); |
| 36 | 36 | ||
| 37 | static size_t dot(int c, size_t state, luaL_Buffer *buffer); | 37 | static size_t dot(int c, size_t state, luaL_Buffer *buffer); |
| 38 | static void b64setup(UC *b64unbase); | 38 | static void b64setup(UC *base); |
| 39 | static size_t b64encode(UC c, UC *input, size_t size, luaL_Buffer *buffer); | 39 | static size_t b64encode(UC c, UC *input, size_t size, luaL_Buffer *buffer); |
| 40 | static size_t b64pad(const UC *input, size_t size, luaL_Buffer *buffer); | 40 | static size_t b64pad(const UC *input, size_t size, luaL_Buffer *buffer); |
| 41 | static size_t b64decode(UC c, UC *input, size_t size, luaL_Buffer *buffer); | 41 | static size_t b64decode(UC c, UC *input, size_t size, luaL_Buffer *buffer); |
| 42 | 42 | ||
| 43 | static void qpsetup(UC *qpclass, UC *qpunbase); | 43 | static void qpsetup(UC *class, UC *unbase); |
| 44 | static void qpquote(UC c, luaL_Buffer *buffer); | 44 | static void qpquote(UC c, luaL_Buffer *buffer); |
| 45 | static size_t qpdecode(UC c, UC *input, size_t size, luaL_Buffer *buffer); | 45 | static size_t qpdecode(UC c, UC *input, size_t size, luaL_Buffer *buffer); |
| 46 | static size_t qpencode(UC c, UC *input, size_t size, | 46 | static size_t qpencode(UC c, UC *input, size_t size, |
| @@ -149,12 +149,12 @@ static int mime_global_wrp(lua_State *L) | |||
| 149 | /*-------------------------------------------------------------------------*\ | 149 | /*-------------------------------------------------------------------------*\ |
| 150 | * Fill base64 decode map. | 150 | * Fill base64 decode map. |
| 151 | \*-------------------------------------------------------------------------*/ | 151 | \*-------------------------------------------------------------------------*/ |
| 152 | static void b64setup(UC *b64unbase) | 152 | static void b64setup(UC *unbase) |
| 153 | { | 153 | { |
| 154 | int i; | 154 | int i; |
| 155 | for (i = 0; i <= 255; i++) b64unbase[i] = (UC) 255; | 155 | for (i = 0; i <= 255; i++) unbase[i] = (UC) 255; |
| 156 | for (i = 0; i < 64; i++) b64unbase[b64base[i]] = (UC) i; | 156 | for (i = 0; i < 64; i++) unbase[b64base[i]] = (UC) i; |
| 157 | b64unbase['='] = 0; | 157 | unbase['='] = 0; |
| 158 | } | 158 | } |
| 159 | 159 | ||
| 160 | /*-------------------------------------------------------------------------*\ | 160 | /*-------------------------------------------------------------------------*\ |
| @@ -349,24 +349,24 @@ static int mime_global_unb64(lua_State *L) | |||
| 349 | * Split quoted-printable characters into classes | 349 | * Split quoted-printable characters into classes |
| 350 | * Precompute reverse map for encoding | 350 | * Precompute reverse map for encoding |
| 351 | \*-------------------------------------------------------------------------*/ | 351 | \*-------------------------------------------------------------------------*/ |
| 352 | static void qpsetup(UC *qpclass, UC *qpunbase) | 352 | static void qpsetup(UC *cl, UC *unbase) |
| 353 | { | 353 | { |
| 354 | int i; | 354 | int i; |
| 355 | for (i = 0; i < 256; i++) qpclass[i] = QP_QUOTED; | 355 | for (i = 0; i < 256; i++) cl[i] = QP_QUOTED; |
| 356 | for (i = 33; i <= 60; i++) qpclass[i] = QP_PLAIN; | 356 | for (i = 33; i <= 60; i++) cl[i] = QP_PLAIN; |
| 357 | for (i = 62; i <= 126; i++) qpclass[i] = QP_PLAIN; | 357 | for (i = 62; i <= 126; i++) cl[i] = QP_PLAIN; |
| 358 | qpclass['\t'] = QP_IF_LAST; | 358 | cl['\t'] = QP_IF_LAST; |
| 359 | qpclass[' '] = QP_IF_LAST; | 359 | cl[' '] = QP_IF_LAST; |
| 360 | qpclass['\r'] = QP_CR; | 360 | cl['\r'] = QP_CR; |
| 361 | for (i = 0; i < 256; i++) qpunbase[i] = 255; | 361 | for (i = 0; i < 256; i++) unbase[i] = 255; |
| 362 | qpunbase['0'] = 0; qpunbase['1'] = 1; qpunbase['2'] = 2; | 362 | unbase['0'] = 0; unbase['1'] = 1; unbase['2'] = 2; |
| 363 | qpunbase['3'] = 3; qpunbase['4'] = 4; qpunbase['5'] = 5; | 363 | unbase['3'] = 3; unbase['4'] = 4; unbase['5'] = 5; |
| 364 | qpunbase['6'] = 6; qpunbase['7'] = 7; qpunbase['8'] = 8; | 364 | unbase['6'] = 6; unbase['7'] = 7; unbase['8'] = 8; |
| 365 | qpunbase['9'] = 9; qpunbase['A'] = 10; qpunbase['a'] = 10; | 365 | unbase['9'] = 9; unbase['A'] = 10; unbase['a'] = 10; |
| 366 | qpunbase['B'] = 11; qpunbase['b'] = 11; qpunbase['C'] = 12; | 366 | unbase['B'] = 11; unbase['b'] = 11; unbase['C'] = 12; |
| 367 | qpunbase['c'] = 12; qpunbase['D'] = 13; qpunbase['d'] = 13; | 367 | unbase['c'] = 12; unbase['D'] = 13; unbase['d'] = 13; |
| 368 | qpunbase['E'] = 14; qpunbase['e'] = 14; qpunbase['F'] = 15; | 368 | unbase['E'] = 14; unbase['e'] = 14; unbase['F'] = 15; |
| 369 | qpunbase['f'] = 15; | 369 | unbase['f'] = 15; |
| 370 | } | 370 | } |
| 371 | 371 | ||
| 372 | /*-------------------------------------------------------------------------*\ | 372 | /*-------------------------------------------------------------------------*\ |
| @@ -40,7 +40,7 @@ static int meth_setfd(lua_State *L); | |||
| 40 | static int meth_dirty(lua_State *L); | 40 | static int meth_dirty(lua_State *L); |
| 41 | 41 | ||
| 42 | /* tcp object methods */ | 42 | /* tcp object methods */ |
| 43 | static luaL_reg tcp[] = { | 43 | static luaL_reg tcp_methods[] = { |
| 44 | {"__gc", meth_close}, | 44 | {"__gc", meth_close}, |
| 45 | {"__tostring", auxiliar_tostring}, | 45 | {"__tostring", auxiliar_tostring}, |
| 46 | {"accept", meth_accept}, | 46 | {"accept", meth_accept}, |
| @@ -88,9 +88,9 @@ static luaL_reg func[] = { | |||
| 88 | int tcp_open(lua_State *L) | 88 | int tcp_open(lua_State *L) |
| 89 | { | 89 | { |
| 90 | /* create classes */ | 90 | /* create classes */ |
| 91 | auxiliar_newclass(L, "tcp{master}", tcp); | 91 | auxiliar_newclass(L, "tcp{master}", tcp_methods); |
| 92 | auxiliar_newclass(L, "tcp{client}", tcp); | 92 | auxiliar_newclass(L, "tcp{client}", tcp_methods); |
| 93 | auxiliar_newclass(L, "tcp{server}", tcp); | 93 | auxiliar_newclass(L, "tcp{server}", tcp_methods); |
| 94 | /* create class groups */ | 94 | /* create class groups */ |
| 95 | auxiliar_add2group(L, "tcp{master}", "tcp{any}"); | 95 | auxiliar_add2group(L, "tcp{master}", "tcp{any}"); |
| 96 | auxiliar_add2group(L, "tcp{client}", "tcp{any}"); | 96 | auxiliar_add2group(L, "tcp{client}", "tcp{any}"); |
| @@ -359,7 +359,7 @@ static const char *trybind6(const char *localaddr, const char *localserv, | |||
| 359 | for (iterator = resolved; iterator; iterator = iterator->ai_next) { | 359 | for (iterator = resolved; iterator; iterator = iterator->ai_next) { |
| 360 | /* create a new socket each time because parameters | 360 | /* create a new socket each time because parameters |
| 361 | * may have changed */ | 361 | * may have changed */ |
| 362 | const char *err = socket_strerror(socket_create(&tcp->sock, | 362 | err = socket_strerror(socket_create(&tcp->sock, |
| 363 | iterator->ai_family, iterator->ai_socktype, | 363 | iterator->ai_family, iterator->ai_socktype, |
| 364 | iterator->ai_protocol)); | 364 | iterator->ai_protocol)); |
| 365 | /* if failed to create socket, bail out */ | 365 | /* if failed to create socket, bail out */ |
| @@ -445,7 +445,7 @@ static const char *tryconnect6(const char *remoteaddr, const char *remoteserv, | |||
| 445 | p_timeout tm = timeout_markstart(&tcp->tm); | 445 | p_timeout tm = timeout_markstart(&tcp->tm); |
| 446 | /* create new socket if one wasn't created by the bind stage */ | 446 | /* create new socket if one wasn't created by the bind stage */ |
| 447 | if (tcp->sock == SOCKET_INVALID) { | 447 | if (tcp->sock == SOCKET_INVALID) { |
| 448 | const char *err = socket_strerror(socket_create(&tcp->sock, | 448 | err = socket_strerror(socket_create(&tcp->sock, |
| 449 | iterator->ai_family, iterator->ai_socktype, | 449 | iterator->ai_family, iterator->ai_socktype, |
| 450 | iterator->ai_protocol)); | 450 | iterator->ai_protocol)); |
| 451 | if (err != NULL) { | 451 | if (err != NULL) { |
| @@ -44,7 +44,7 @@ static int meth_setfd(lua_State *L); | |||
| 44 | static int meth_dirty(lua_State *L); | 44 | static int meth_dirty(lua_State *L); |
| 45 | 45 | ||
| 46 | /* udp object methods */ | 46 | /* udp object methods */ |
| 47 | static luaL_reg udp[] = { | 47 | static luaL_reg udp_methods[] = { |
| 48 | {"__gc", meth_close}, | 48 | {"__gc", meth_close}, |
| 49 | {"__tostring", auxiliar_tostring}, | 49 | {"__tostring", auxiliar_tostring}, |
| 50 | {"close", meth_close}, | 50 | {"close", meth_close}, |
| @@ -98,8 +98,8 @@ static luaL_reg func[] = { | |||
| 98 | int udp_open(lua_State *L) | 98 | int udp_open(lua_State *L) |
| 99 | { | 99 | { |
| 100 | /* create classes */ | 100 | /* create classes */ |
| 101 | auxiliar_newclass(L, "udp{connected}", udp); | 101 | auxiliar_newclass(L, "udp{connected}", udp_methods); |
| 102 | auxiliar_newclass(L, "udp{unconnected}", udp); | 102 | auxiliar_newclass(L, "udp{unconnected}", udp_methods); |
| 103 | /* create class groups */ | 103 | /* create class groups */ |
| 104 | auxiliar_add2group(L, "udp{connected}", "udp{any}"); | 104 | auxiliar_add2group(L, "udp{connected}", "udp{any}"); |
| 105 | auxiliar_add2group(L, "udp{unconnected}", "udp{any}"); | 105 | auxiliar_add2group(L, "udp{unconnected}", "udp{any}"); |
