*/
/** @file server/options.c
* @brief CGI options
+ *
+ * Options represent an additional configuration system private to the
+ * CGI program.
*/
-#include <config.h>
-#include "types.h"
-
-#include <stdio.h>
-
-#include "mem.h"
-#include "hash.h"
-#include "macros.h"
-#include "options.h"
-#include "split.h"
-#include "table.h"
+#include "disorder-cgi.h"
struct column {
int ncolumns;
char **columns;
};
+struct read_options_state {
+ const char *name;
+ int line;
+};
+
static hash *labels;
static hash *columns;
+static void option__readfile(const char *name);
+
static void option__label(int attribute((unused)) nvec,
char **vec) {
option_set(vec[0], vec[1]);
int minargs, maxargs;
void (*handler)(int nvec, char **vec);
} options[] = {
- { "columns", 1, INT_MAX, option_columns },
- { "include", 1, 1, option_include },
- { "label", 2, 2, option_label },
+ { "columns", 1, INT_MAX, option__columns },
+ { "include", 1, 1, option__include },
+ { "label", 2, 2, option__label },
};
static void option__split_error(const char *msg,
static void option__readfile(const char *name) {
int n, i;
- int fd;
FILE *fp;
char **vec, *buffer;
struct read_options_state cs;
- const char *path;
if(!(cs.name = mx_find(name)))
return;