Compiles with Lua 5.1.4 and Lua 5.2.0-beta, although the makefile needs sorting out to take maybe a version number and also the local paths need removing.

This commit is contained in:
Liam Devine
2011-07-04 23:31:14 +01:00
committed by Sam Roberts
parent a984607f28
commit e15ed19db6
17 changed files with 70 additions and 49 deletions

View File

@ -48,7 +48,7 @@ static size_t qpencode(UC c, UC *input, size_t size,
static size_t qppad(UC *input, size_t size, luaL_Buffer *buffer);
/* code support functions */
static luaL_reg func[] = {
static luaL_Reg func[] = {
{ "dot", mime_global_dot },
{ "b64", mime_global_b64 },
{ "eol", mime_global_eol },
@ -135,7 +135,7 @@ static int mime_global_wrp(lua_State *L)
left = length;
luaL_addstring(&buffer, CRLF);
}
luaL_putchar(&buffer, *input);
luaL_addchar(&buffer, *input);
left--;
break;
}
@ -374,9 +374,9 @@ static void qpsetup(UC *cl, UC *unbase)
\*-------------------------------------------------------------------------*/
static void qpquote(UC c, luaL_Buffer *buffer)
{
luaL_putchar(buffer, '=');
luaL_putchar(buffer, qpbase[c >> 4]);
luaL_putchar(buffer, qpbase[c & 0x0F]);
luaL_addchar(buffer, '=');
luaL_addchar(buffer, qpbase[c >> 4]);
luaL_addchar(buffer, qpbase[c & 0x0F]);
}
/*-------------------------------------------------------------------------*\
@ -406,7 +406,7 @@ static size_t qpencode(UC c, UC *input, size_t size,
qpquote(input[0], buffer);
luaL_addstring(buffer, marker);
return 0;
} else luaL_putchar(buffer, input[0]);
} else luaL_addchar(buffer, input[0]);
break;
/* might have to be quoted always */
case QP_QUOTED:
@ -414,7 +414,7 @@ static size_t qpencode(UC c, UC *input, size_t size,
break;
/* might never have to be quoted */
default:
luaL_putchar(buffer, input[0]);
luaL_addchar(buffer, input[0]);
break;
}
input[0] = input[1]; input[1] = input[2];
@ -430,7 +430,7 @@ static size_t qppad(UC *input, size_t size, luaL_Buffer *buffer)
{
size_t i;
for (i = 0; i < size; i++) {
if (qpclass[input[i]] == QP_PLAIN) luaL_putchar(buffer, input[i]);
if (qpclass[input[i]] == QP_PLAIN) luaL_addchar(buffer, input[i]);
else qpquote(input[i], buffer);
}
if (size > 0) luaL_addstring(buffer, EQCRLF);
@ -500,7 +500,7 @@ static size_t qpdecode(UC c, UC *input, size_t size, luaL_Buffer *buffer) {
c = qpunbase[input[1]]; d = qpunbase[input[2]];
/* if it is an invalid, do not decode */
if (c > 15 || d > 15) luaL_addlstring(buffer, (char *)input, 3);
else luaL_putchar(buffer, (c << 4) + d);
else luaL_addchar(buffer, (c << 4) + d);
return 0;
case '\r':
if (size < 2) return size;
@ -508,7 +508,7 @@ static size_t qpdecode(UC c, UC *input, size_t size, luaL_Buffer *buffer) {
return 0;
default:
if (input[0] == '\t' || (input[0] > 31 && input[0] < 127))
luaL_putchar(buffer, input[0]);
luaL_addchar(buffer, input[0]);
return 0;
}
}
@ -593,7 +593,7 @@ static int mime_global_qpwrp(lua_State *L)
left = length;
luaL_addstring(&buffer, EQCRLF);
}
luaL_putchar(&buffer, *input);
luaL_addchar(&buffer, *input);
left--;
break;
default:
@ -601,7 +601,7 @@ static int mime_global_qpwrp(lua_State *L)
left = length;
luaL_addstring(&buffer, EQCRLF);
}
luaL_putchar(&buffer, *input);
luaL_addchar(&buffer, *input);
left--;
break;
}
@ -636,7 +636,7 @@ static int eolprocess(int c, int last, const char *marker,
return c;
}
} else {
luaL_putchar(buffer, c);
luaL_addchar(buffer, c);
return 0;
}
}
@ -676,7 +676,7 @@ static int mime_global_eol(lua_State *L)
\*-------------------------------------------------------------------------*/
static size_t dot(int c, size_t state, luaL_Buffer *buffer)
{
luaL_putchar(buffer, c);
luaL_addchar(buffer, c);
switch (c) {
case '\r':
return 1;
@ -684,7 +684,7 @@ static size_t dot(int c, size_t state, luaL_Buffer *buffer)
return (state == 1)? 2: 0;
case '.':
if (state == 2)
luaL_putchar(buffer, '.');
luaL_addchar(buffer, '.');
default:
return 0;
}