Tomato 1.26 beta(1766)
[tomato.git] / release / src / router / httpd / nvram.c
blobbeacf78883456e267cf09db8c7201e551653d11e
1 /*
3 Tomato Firmware
4 Copyright (C) 2006-2009 Jonathan Zarate
6 */
8 #include "tomato.h"
11 // <% nvram("x,y,z"); %> -> nvram = {'x': '1','y': '2','z': '3'};
12 void asp_nvram(int argc, char **argv)
14 char *list;
15 char *p, *k;
16 const char *v;
18 if ((argc != 1) || ((list = strdup(argv[0])) == NULL)) return;
19 web_puts("\nnvram = {\n");
20 p = list;
21 while ((k = strsep(&p, ",")) != NULL) {
22 if (*k == 0) continue;
23 v = nvram_get(k);
24 if (!v) {
25 v = "";
27 web_printf("\t%s: '", k);
28 web_putj(v);
29 web_puts("',\n");
31 free(list);
33 web_puts("\thttp_id: '");
34 web_putj(nvram_safe_get("http_id"));
35 web_puts("',\n");
37 web_puts("\tweb_mx: '");
38 web_putj(nvram_safe_get("web_mx"));
39 web_puts("',\n");
41 web_puts("\tweb_pb: '");
42 web_putj(nvram_safe_get("web_pb"));
43 web_puts("'};\n");
46 // <% nvramseq('foo', 'bar%d', 5, 8); %> -> foo = ['a','b','c'];
47 void asp_nvramseq(int argc, char **argv)
49 int i, e;
50 char s[256];
52 if (argc != 4) return;
54 web_printf("\n%s = [\n", argv[0]);
55 e = atoi(argv[3]);
56 for (i = atoi(argv[2]); i <= e; ++i) {
57 snprintf(s, sizeof(s), argv[1], i);
58 web_puts("'");
59 web_putj(nvram_safe_get(s));
60 web_puts((i == e) ? "'" : "',");
62 web_puts("];\n");
65 void asp_nv(int argc, char **argv)
67 if (argc == 1) {
68 web_puts(nvram_safe_get(argv[0]));