From 4be3c7e95f1f6c9bb4b172fdc1d833e9333f7cf5 Mon Sep 17 00:00:00 2001 From: michael Date: Sun, 21 Jan 2007 06:19:40 +0000 Subject: new function 'decode()' git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@754 3ae390bd-cb1e-0410-b409-cd5a39f66f1f --- plugin_math.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'plugin_math.c') diff --git a/plugin_math.c b/plugin_math.c index b74f188..c3748e1 100644 --- a/plugin_math.c +++ b/plugin_math.c @@ -114,6 +114,26 @@ static void my_ceil(RESULT * result, RESULT * arg) SetResult(&result, R_NUMBER, &value); } +static void my_decode(RESULT * result, int argc, RESULT * argv[]) +{ + int index; + + if (argc < 2) { + error("decode(): wrong number of parameters"); + SetResult(&result, R_STRING, ""); + return; + } + + index = R2N(argv[0]); + + if (index < 0 || index >= argc-1) { + SetResult(&result, R_STRING, ""); + return; + } + + CopyResult (&result, argv[index+1]); +} + int plugin_init_math(void) { @@ -138,6 +158,9 @@ int plugin_init_math(void) AddFunction("floor", 1, my_floor); AddFunction("ceil", 1, my_ceil); + /* decode */ + AddFunction("decode", -1, my_decode); + return 0; } -- cgit v1.2.3