aboutsummaryrefslogtreecommitdiffstats
path: root/plugin_sample.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--plugin_sample.c132
1 files changed, 69 insertions, 63 deletions
diff --git a/plugin_sample.c b/plugin_sample.c
index 773d270..9f228ac 100644
--- a/plugin_sample.c
+++ b/plugin_sample.c
@@ -1,4 +1,4 @@
-/* $Id: plugin_sample.c,v 1.6 2004/06/01 06:04:25 reinelt Exp $
+/* $Id: plugin_sample.c,v 1.7 2004/06/26 09:27:21 reinelt Exp $
*
* plugin template
*
@@ -23,6 +23,12 @@
*
*
* $Log: plugin_sample.c,v $
+ * Revision 1.7 2004/06/26 09:27:21 reinelt
+ *
+ * added '-W' to CFLAGS
+ * changed all C++ comments to C ones ('//' => '/* */')
+ * cleaned up a lot of signed/unsigned mistakes
+ *
* Revision 1.6 2004/06/01 06:04:25 reinelt
*
* made README.Plugins and plugin_sample up to date.
@@ -61,14 +67,14 @@
*/
-// define the include files you need
+/* define the include files you need */
#include "config.h"
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
-// these should always be included
+/* these should always be included */
#include "debug.h"
#include "plugin.h"
@@ -78,134 +84,134 @@
-// sample function 'mul2'
-// takes one argument, a number
-// multiplies the number by 2.0
-// Note: all local functions should be declared 'static'
+/* sample function 'mul2' */
+/* takes one argument, a number */
+/* multiplies the number by 2.0 */
+/* Note: all local functions should be declared 'static' */
static void my_mul2 (RESULT *result, RESULT *arg1)
{
double param;
double value;
- // Get Parameter
- // R2N stands for 'Result to Number'
+ /* Get Parameter */
+ /* R2N stands for 'Result to Number' */
param = R2N(arg1);
- // calculate value
+ /* calculate value */
value = param*2.0;
- // store result
- // when called with R_NUMBER, it assumes the
- // next parameter to be a pointer to double
+ /* store result */
+ /* when called with R_NUMBER, it assumes the */
+ /* next parameter to be a pointer to double */
SetResult(&result, R_NUMBER, &value);
}
-// sample function 'mul3'
-// takes one argument, a number
-// multiplies the number by 3.0
-// same as 'mul2', but shorter
+/* sample function 'mul3' */
+/* takes one argument, a number */
+/* multiplies the number by 3.0 */
+/* same as 'mul2', but shorter */
static void my_mul3 (RESULT *result, RESULT *arg1)
{
- // do it all in one line
+ /* do it all in one line */
double value = R2N(arg1) * 3.0;
- // store result
+ /* store result */
SetResult(&result, R_NUMBER, &value);
}
-// sample function 'diff'
-// takes two arguments, both numbers
-// returns |a-b|
+/* sample function 'diff' */
+/* takes two arguments, both numbers */
+/* returns |a-b| */
static void my_diff (RESULT *result, RESULT *arg1, RESULT *arg2)
{
- // do it all in one line
+ /* do it all in one line */
double value = R2N(arg1) - R2N(arg2);
- // some more calculations...
+ /* some more calculations... */
if (value < 0) value = -value;
- // store result
+ /* store result */
SetResult(&result, R_NUMBER, &value);
}
-// sample function 'answer'
-// takes no argument!
-// returns the answer to all questions
+/* sample function 'answer' */
+/* takes no argument! */
+/* returns the answer to all questions */
static void my_answer (RESULT *result)
{
- // we have to declare a variable because
- // SetResult needs a pointer
+ /* we have to declare a variable because */
+ /* SetResult needs a pointer */
double value = 42;
- // store result
+ /* store result */
SetResult(&result, R_NUMBER, &value);
}
-// sample function 'length'
-// takes one argument, a string
-// returns the string length
+/* sample function 'length' */
+/* takes one argument, a string */
+/* returns the string length */
static void my_length (RESULT *result, RESULT *arg1)
{
- // Note #1: value *must* be double!
- // Note #2: R2S stands for 'Result to String'
+ /* Note #1: value *must* be double! */
+ /* Note #2: R2S stands for 'Result to String' */
double value = strlen(R2S(arg1));
- // store result
+ /* store result */
SetResult(&result, R_NUMBER, &value);
}
-// sample function 'upcase'
-// takes one argument, a string
-// returns the string in upper case letters
+/* sample function 'upcase' */
+/* 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!
+ /* create a local copy of the argument */
+ /* Do *NOT* try to modify the original string! */
value = strdup(R2S(arg1));
- // process the string
+ /* 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'
+ /* 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 local copy again */
+ /* Note that SetResult() makes its own string copy */
free (value);
}
-// sample function 'cat'
-// takes variable number of arguments, all strings
-// returns all prameters concatenated
+/* sample function 'cat' */
+/* takes variable number of arguments, all strings */
+/* returns all prameters concatenated */
static void my_concat (RESULT *result, int argc, RESULT *argv[])
{
int i, len;
char *value, *part;
- // start with a empty string
+ /* start with a empty string */
value = strdup("");
- // process all arguments
+ /* process all arguments */
for (i = 0; i < argc; i++) {
part = R2S(argv[i]);
len = strlen(value)+strlen(part);
@@ -213,22 +219,22 @@ static void my_concat (RESULT *result, int argc, RESULT *argv[])
strcat(value, part);
}
- // store result
+ /* store result */
SetResult(&result, R_STRING, value);
- // free local string
+ /* free local string */
free (value);
}
-// plugin initialization
-// MUST NOT be declared 'static'!
+/* plugin initialization */
+/* MUST NOT be declared 'static'! */
int plugin_init_sample (void)
{
- // register all our cool functions
- // the second parameter is the number of arguments
- // -1 stands for variable argument list
+ /* register all our cool functions */
+ /* the second parameter is the number of arguments */
+ /* -1 stands for variable argument list */
AddFunction ("mul2", 1, my_mul2);
AddFunction ("mul3", 1, my_mul3);
AddFunction ("answer", 0, my_answer);
@@ -242,6 +248,6 @@ int plugin_init_sample (void)
void plugin_exit_sample(void)
{
- // free any allocated memory
- // close filedescriptors
+ /* free any allocated memory */
+ /* close filedescriptors */
}