From 08ab06dac36efd2d4f85f15c5ec22bbf9d5f5164 Mon Sep 17 00:00:00 2001
From: "Mirar (Pontus Hagland)" <pike@sort.mirar.org>
Date: Sun, 5 Dec 1999 17:34:54 +0100
Subject: [PATCH] added '+': int(0..)

Rev: src/module_support.c:1.31
---
 src/module_support.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/module_support.c b/src/module_support.c
index 83e0e48d4e..36f8d9609b 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;
     }
-- 
GitLab