aboutsummaryrefslogtreecommitdiffstats
path: root/plugin_string.c
diff options
context:
space:
mode:
authorlfcorreia <lfcorreia@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>2006-07-29 21:12:31 +0000
committerlfcorreia <lfcorreia@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>2006-07-29 21:12:31 +0000
commit552041beda9baa69e490290436e3ff6e089506f8 (patch)
tree379933ef4e4d026832cc36d9f8bbb2805bbc9ba1 /plugin_string.c
parent0c8256185a9f46c725e8574b05de0165fc1e657a (diff)
downloadlcd4linux-552041beda9baa69e490290436e3ff6e089506f8.tar.gz
[lcd4linux @ 2006-07-29 21:12:31 by lfcorreia]
Add UPPERCASE string plugin function git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@677 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
Diffstat (limited to 'plugin_string.c')
-rw-r--r--plugin_string.c46
1 files changed, 45 insertions, 1 deletions
diff --git a/plugin_string.c b/plugin_string.c
index e1fd0a4..464d9e8 100644
--- a/plugin_string.c
+++ b/plugin_string.c
@@ -1,4 +1,4 @@
-/* $Id: plugin_string.c,v 1.8 2005/05/08 04:32:45 reinelt Exp $
+/* $Id: plugin_string.c,v 1.9 2006/07/29 21:12:31 lfcorreia Exp $
*
* string plugin
*
@@ -23,6 +23,9 @@
*
*
* $Log: plugin_string.c,v $
+ * Revision 1.9 2006/07/29 21:12:31 lfcorreia
+ * Add UPPERCASE string plugin function
+ *
* Revision 1.8 2005/05/08 04:32:45 reinelt
* CodingStyle added and applied
*
@@ -96,3 +99,44 @@ void plugin_exit_string(void)
{
/* empty */
}
+
+/* 'upcase' function (shamelessly stolen from plugin_sample.c)*/
+/* takes one argument, a string */
+/* returns the string in upper case letters */
+
+static void my_upcase(RESULT * result, RESULT * arg1)
+{
+ char *value, *p;
+
+ /* create a local copy of the argument */
+ /* Do *NOT* try to modify the original string! */
+ value = strdup(R2S(arg1));
+
+ /* process the string */
+ for (p = value; *p != '\0'; p++)
+ *p = toupper(*p);
+
+ /* store result */
+ /* when called with R_STRING, it assumes the */
+ /* next parameter to be a pointer to a string */
+ /* 'value' is already a char*, so use 'value', not '&value' */
+ SetResult(&result, R_STRING, value);
+
+ /* free local copy again */
+ /* Note that SetResult() makes its own string copy */
+ free(value);
+}
+
+int plugin_init_strupper(void)
+{
+
+ /* register my UPPERCASE transforming function */
+ AddFunction("strupper", 1, my_upcase);
+
+ return 0;
+}
+
+void plugin_exit_strupper(void)
+{
+ /* empty */
+}