]> git.webhop.me Git - lcd4linux.git/commitdiff
[lcd4linux @ 2006-07-29 21:12:31 by lfcorreia]
authorlfcorreia <lfcorreia@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Sat, 29 Jul 2006 21:12:31 +0000 (21:12 +0000)
committerlfcorreia <lfcorreia@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Sat, 29 Jul 2006 21:12:31 +0000 (21:12 +0000)
Add UPPERCASE string plugin function

git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@677 3ae390bd-cb1e-0410-b409-cd5a39f66f1f

plugin.c
plugin_string.c

index 72d2847c5ed3d3ea22da21491c26057c68518516..8070b0a6d1faf7e1fe09740488dd3016b076aef7 100644 (file)
--- a/plugin.c
+++ b/plugin.c
@@ -1,4 +1,4 @@
-/* $Id: plugin.c,v 1.41 2006/04/15 05:22:52 reinelt Exp $
+/* $Id: plugin.c,v 1.42 2006/07/29 21:12:31 lfcorreia Exp $
  *
  * plugin handler for the Evaluator
  *
@@ -23,6 +23,9 @@
  *
  *
  * $Log: plugin.c,v $
+ * Revision 1.42  2006/07/29 21:12:31  lfcorreia
+ * Add UPPERCASE string plugin function
+ *
  * Revision 1.41  2006/04/15 05:22:52  reinelt
  * mpd plugin from Stefan Kuhne
  *
@@ -218,6 +221,8 @@ int plugin_init_math(void);
 void plugin_exit_math(void);
 int plugin_init_string(void);
 void plugin_exit_string(void);
+int plugin_init_strupper(void);
+void plugin_exit_strupper(void);
 int plugin_init_test(void);
 void plugin_exit_test(void);
 int plugin_init_time(void);
@@ -280,6 +285,7 @@ int plugin_init(void)
     plugin_init_cfg();
     plugin_init_math();
     plugin_init_string();
+    plugin_init_strupper();
     plugin_init_test();
     plugin_init_time();
 
index e1fd0a4361a14d39912c8a9c70f5b02ec18d6384..464d9e899af5b52fab228986f9cb42ab83d329ab 100644 (file)
@@ -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 */
+}