diff options
Diffstat (limited to '')
-rw-r--r-- | plugin_sample.c | 132 |
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 */ } |