diff --git a/src/module_support.c b/src/module_support.c index 83e0e48d4e9e045f381ffdb92abe31293a36cd5b..36f8d9609b7ad531916d085e55534525b26b9762 100644 --- a/src/module_support.c +++ b/src/module_support.c @@ -6,7 +6,7 @@ #include "pike_types.h" #include "error.h" -RCSID("$Id: module_support.c,v 1.30 1999/11/16 16:42:10 grubba Exp $"); +RCSID("$Id: module_support.c,v 1.31 1999/12/05 16:34:54 mirar Exp $"); /* Checks that args_to_check arguments are OK. * Returns 1 if everything worked ok, zero otherwise. @@ -162,6 +162,11 @@ int va_get_args(struct svalue *s, if(s->type != T_INT) return ret; *va_arg(ap, INT_TYPE *)=s->u.integer; break; + case '+': + if(s->type != T_INT) return ret; + if(s->u.integer<0) return ret; + *va_arg(ap, INT_TYPE *)=s->u.integer; + break; case 'D': if(s->type == T_INT) *va_arg(ap, int *)=s->u.integer; @@ -321,6 +326,7 @@ void get_all_args(char *fname, INT32 args, char *format, ... ) case 'o': expected_type = "object"; break; case 'O': expected_type = "object or zero"; break; case 'p': expected_type = "program"; break; + case '+': expected_type = "int(0..)"; break; case '*': expected_type = "mixed"; break; default: expected_type = "Unknown"; break; }