From 88f504740f1887bc4aa83d51ae0f50f6a9e713d9 Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Mon, 5 Sep 2016 22:16:16 +0100 Subject: Reflow iconv() --- luxio.c | 64 ++++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 32 insertions(+), 32 deletions(-) (limited to 'luxio.c') diff --git a/luxio.c b/luxio.c index c1566cd..62ff77d 100644 --- a/luxio.c +++ b/luxio.c @@ -3813,38 +3813,38 @@ luxio_iconv(lua_State *L) { /* based on Alexandre Erwin Ittner 's code */ /* either returns completed string, or -1, errno, partial result */ - iconv_t *_cd = (iconv_t*)lua_touserdata(L, 1); - iconv_t cd = *_cd; - size_t ibleft; - char *inbuf = (char* )luaL_checklstring(L, 2, &ibleft); - char outbufs[ICONV_BUF_SIZE]; - char *outbuf = outbufs; - size_t obleft = ICONV_BUF_SIZE; - size_t ret = -1; - - luaL_Buffer b; - luaL_buffinit(L, &b); - - do { - ret = iconv(cd, (ICONV_IN_TYPE)&inbuf, &ibleft, &outbuf, &obleft); - if (ret == (size_t)(-1)) { - luaL_addlstring(&b, outbufs, ICONV_BUF_SIZE - obleft); - - if (errno == E2BIG) { - obleft = ICONV_BUF_SIZE; - outbuf = outbufs; - } else { - lua_pushnumber(L, -1); - lua_pushnumber(L, errno); - luaL_pushresult(&b); - return 3; - } - } - } while (ret == (size_t)-1); - - luaL_addlstring(&b, outbufs, ICONV_BUF_SIZE - obleft); - luaL_pushresult(&b); - return 1; + iconv_t *_cd = (iconv_t*)lua_touserdata(L, 1); + iconv_t cd = *_cd; + size_t ibleft; + char *inbuf = (char* )luaL_checklstring(L, 2, &ibleft); + char outbufs[ICONV_BUF_SIZE]; + char *outbuf = outbufs; + size_t obleft = ICONV_BUF_SIZE; + size_t ret = -1; + + luaL_Buffer b; + luaL_buffinit(L, &b); + + do { + ret = iconv(cd, (ICONV_IN_TYPE)&inbuf, &ibleft, &outbuf, &obleft); + if (ret == (size_t)(-1)) { + luaL_addlstring(&b, outbufs, ICONV_BUF_SIZE - obleft); + + if (errno == E2BIG) { + obleft = ICONV_BUF_SIZE; + outbuf = outbufs; + } else { + lua_pushnumber(L, -1); + lua_pushnumber(L, errno); + luaL_pushresult(&b); + return 3; + } + } + } while (ret == (size_t)-1); + + luaL_addlstring(&b, outbufs, ICONV_BUF_SIZE - obleft); + luaL_pushresult(&b); + return 1; } #undef ICONV_BUF_SIZE -- cgit v1.2.1