diff options
author | William Ahern <william+ubuntu@25thandClement.com> | 2016-11-01 17:04:24 -0700 |
---|---|---|
committer | William Ahern <william+ubuntu@25thandClement.com> | 2016-11-01 17:04:24 -0700 |
commit | cb727f97f2e00512c70631210de2d8b951e81587 (patch) | |
tree | 48f80ac0065f3b9224adaee4beee8edfc41861ae | |
parent | f7e633337555bb70996347abe90efdae7ed7b632 (diff) | |
download | luaossl-rel-20161101.tar.gz luaossl-rel-20161101.tar.bz2 luaossl-rel-20161101.zip |
workaround for broken GCC on some newer debian/ubuntu installations with weird GCC default flags that fail compilation on C99-style for loops without any other warning flags specifiedrel-20161101
-rw-r--r-- | src/openssl.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/openssl.c b/src/openssl.c index ed7222e..4564061 100644 --- a/src/openssl.c +++ b/src/openssl.c | |||
@@ -772,8 +772,9 @@ NOTUSED static auxtype_t auxL_getref(lua_State *L, auxref_t ref) { | |||
772 | static int auxL_testoption(lua_State *L, int index, const char *def, const char *const *optlist, _Bool nocase) { | 772 | static int auxL_testoption(lua_State *L, int index, const char *def, const char *const *optlist, _Bool nocase) { |
773 | const char *optname = (def)? luaL_optstring(L, index, def) : luaL_checkstring(L, index); | 773 | const char *optname = (def)? luaL_optstring(L, index, def) : luaL_checkstring(L, index); |
774 | int (*optcmp)() = (nocase)? &strcasecmp : &strcmp; | 774 | int (*optcmp)() = (nocase)? &strcasecmp : &strcmp; |
775 | int i; | ||
775 | 776 | ||
776 | for (int i = 0; optlist[i]; i++) { | 777 | for (i = 0; optlist[i]; i++) { |
777 | if (0 == optcmp(optlist[i], optname)) | 778 | if (0 == optcmp(optlist[i], optname)) |
778 | return i; | 779 | return i; |
779 | } | 780 | } |
@@ -929,9 +930,11 @@ static inline size_t auxL_liblen(const auxL_Reg *l) { | |||
929 | 930 | ||
930 | static void auxL_setfuncs(lua_State *L, const auxL_Reg *l, int nups) { | 931 | static void auxL_setfuncs(lua_State *L, const auxL_Reg *l, int nups) { |
931 | for (; l->name; l++) { | 932 | for (; l->name; l++) { |
933 | int i; | ||
934 | |||
932 | /* copy shared upvalues */ | 935 | /* copy shared upvalues */ |
933 | luaL_checkstack(L, nups, "too many upvalues"); | 936 | luaL_checkstack(L, nups, "too many upvalues"); |
934 | for (int i = 0; i < nups; i++) | 937 | for (i = 0; i < nups; i++) |
935 | lua_pushvalue(L, -nups); | 938 | lua_pushvalue(L, -nups); |
936 | 939 | ||
937 | /* nil-fill local upvalues */ | 940 | /* nil-fill local upvalues */ |
@@ -3741,13 +3744,15 @@ static int pk_getParameters(lua_State *L) { | |||
3741 | return luaL_error(L, "%d: unsupported EVP_PKEY base type", base_type); | 3744 | return luaL_error(L, "%d: unsupported EVP_PKEY base type", base_type); |
3742 | 3745 | ||
3743 | if (lua_isnoneornil(L, 2)) { | 3746 | if (lua_isnoneornil(L, 2)) { |
3747 | const char *const *optname; | ||
3748 | |||
3744 | /* | 3749 | /* |
3745 | * Use special "{" parameter to tell loop to push table. | 3750 | * Use special "{" parameter to tell loop to push table. |
3746 | * Subsequent parameters will be assigned as fields. | 3751 | * Subsequent parameters will be assigned as fields. |
3747 | */ | 3752 | */ |
3748 | lua_pushstring(L, "{"); | 3753 | lua_pushstring(L, "{"); |
3749 | luaL_checkstack(L, nopts, "too many arguments"); | 3754 | luaL_checkstack(L, nopts, "too many arguments"); |
3750 | for (const char *const *optname = optlist; *optname; optname++) { | 3755 | for (optname = optlist; *optname; optname++) { |
3751 | lua_pushstring(L, *optname); | 3756 | lua_pushstring(L, *optname); |
3752 | } | 3757 | } |
3753 | } | 3758 | } |
@@ -3927,11 +3932,12 @@ static const auxL_Reg pk_globals[] = { | |||
3927 | }; | 3932 | }; |
3928 | 3933 | ||
3929 | static void pk_luainit(lua_State *L, _Bool reset) { | 3934 | static void pk_luainit(lua_State *L, _Bool reset) { |
3935 | char **k; | ||
3930 | if (!auxL_newmetatable(L, PKEY_CLASS, reset)) | 3936 | if (!auxL_newmetatable(L, PKEY_CLASS, reset)) |
3931 | return; | 3937 | return; |
3932 | auxL_setfuncs(L, pk_metatable, 0); | 3938 | auxL_setfuncs(L, pk_metatable, 0); |
3933 | auxL_newlib(L, pk_methods, 0); | 3939 | auxL_newlib(L, pk_methods, 0); |
3934 | for (char **k = (char *[]){ "__index", "__newindex", 0 }; *k; k++) { | 3940 | for (k = (char *[]){ "__index", "__newindex", 0 }; *k; k++) { |
3935 | lua_getfield(L, -2, *k); /* closure */ | 3941 | lua_getfield(L, -2, *k); /* closure */ |
3936 | lua_pushvalue(L, -2); /* method table */ | 3942 | lua_pushvalue(L, -2); /* method table */ |
3937 | lua_setupvalue(L, -2, 1); | 3943 | lua_setupvalue(L, -2, 1); |