示例#1
0
static int template_catalog_call(lua_State *L)
{
	size_t inlen, outlen;
        lmo_catalog_t *cat = luaL_checkudata(L, 1, TEMPLATE_CATALOG);
	const char *in = luaL_checklstring(L, 2, &inlen), *out;
	if (!lmo_translate(cat, in, inlen, &out, &outlen))
		return 0;

	lua_pushlstring(L, out, outlen);

	return 1;
}
示例#2
0
void luastr_translate(struct template_buffer *out, const char *s, unsigned int l,
					  int escape_xml)
{
	char *tr;
	int trlen;

	switch (lmo_translate(s, l, &tr, &trlen))
	{
		case 0:
			luastr_escape(out, tr, trlen, escape_xml);
			break;

		case -1:
			luastr_escape(out, s, l, escape_xml);
			break;

		default:
			/* no catalog loaded */
			break;
	}
}