-/* $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
*
*
*
* $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
*
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);
plugin_init_cfg();
plugin_init_math();
plugin_init_string();
+ plugin_init_strupper();
plugin_init_test();
plugin_init_time();
-/* $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
*
*
*
* $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
*
{
/* 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 */
+}