/*
- * "$Id: cgi.h,v 1.6 1999/09/28 19:05:14 mike Exp $"
+ * "$Id: cgi.h,v 1.7 1999/10/26 22:39:48 mike Exp $"
*
* CGI support library definitions.
*
extern int cgiCheckVariables(const char *names);
extern const char *cgiGetArray(const char *name, int element);
extern int cgiGetSize(const char *name);
+extern void cgiSetSize(const char *name, int size);
extern const char *cgiGetVariable(const char *name);
extern void cgiSetArray(const char *name, int element,
const char *value);
#endif /* !_CGI_H_ */
/*
- * End of "$Id: cgi.h,v 1.6 1999/09/28 19:05:14 mike Exp $".
+ * End of "$Id: cgi.h,v 1.7 1999/10/26 22:39:48 mike Exp $".
*/
/*
- * "$Id: var.c,v 1.11 1999/09/28 19:05:16 mike Exp $"
+ * "$Id: var.c,v 1.12 1999/10/26 22:39:49 mike Exp $"
*
* CGI form variable and array functions.
*
}
+/*
+ * 'cgiSetSize()' - Set the array size.
+ */
+
+void
+cgiSetSize(const char *name, /* I - Name of variable */
+ int size) /* I - Number of elements (0 to N) */
+{
+ int i; /* Looping var */
+ var_t *var; /* Returned variable */
+
+
+ if (name == NULL || size < 0)
+ return;
+
+ if ((var = cgi_find_variable(name)) == NULL)
+ return;
+
+ if (size >= var->avalues)
+ {
+ var->avalues = size + 16;
+ var->values = realloc(var->values, sizeof(char *) * var->avalues);
+ }
+
+ if (size > var->nvalues)
+ {
+ for (i = var->nvalues; i < size; i ++)
+ var->values[i] = NULL;
+ }
+ else if (size < var->nvalues)
+ {
+ for (i = size; i < var->nvalues; i ++)
+ if (var->values[i])
+ free(var->values[i]);
+ }
+
+ var->nvalues = size;
+}
+
+
/*
* 'cgiSetVariable()' - Set a CGI variable in the database...
*
/*
- * End of "$Id: var.c,v 1.11 1999/09/28 19:05:16 mike Exp $".
+ * End of "$Id: var.c,v 1.12 1999/10/26 22:39:49 mike Exp $".
*/