// <% nvram("x,y,z"); %> -> nvram = {'x': '1','y': '2','z': '3'}; void asp_nvram(int argc, char **argv) { char *list; char *p, *k; char *value; if ((argc != 1) || ((list = strdup(argv[0])) == NULL)) return; web_puts("\nnvram = {\n"); p = list; while ((k = strsep(&p, ",")) != NULL) { if (*k == 0) continue; if (strcmp(k, "wl_unit") == 0) continue; web_printf("\t'%s': '", k); // AB multiSSID // web_putj(nvram_safe_get(k)); value = nvram_safe_get(k); web_putj_utf8(value); web_puts("',\n"); if (strncmp(k, "wl_", 3) == 0) { foreach_wif(1, k, print_wlnv); } } free(list); web_puts("\t'wl_unit': '"); // AB multiSSID web_putj(nvram_safe_get("wl_unit")); web_puts("',\n"); web_puts("\t'http_id': '"); // AB multiSSID web_putj(nvram_safe_get("http_id")); web_puts("',\n"); web_puts("\t'web_mx': '"); // AB multiSSID web_putj(nvram_safe_get("web_mx")); web_puts("',\n"); web_puts("\t'web_pb': '"); // AB multiSSID web_putj(nvram_safe_get("web_pb")); web_puts("'};\n"); }
static int print_wlnv(int idx, int unit, int subunit, void *param) { char *k = param; char *nv; nv = wl_nvname(k + 3, unit, subunit); web_printf("\t'%s': '", nv); // AB multiSSID web_putj(nvram_safe_get(nv)); web_puts("',\n"); return 1; }
void asp_webmsg(int argc, char **argv) { char s[512]; const char *msg = s; getWebMsg(s, sizeof(s)); if (s[0] == 0) { if (argc == 0) return; msg = argv[0]; } if ((argc >= 2) && (argv[1][0] == '1')) web_putj(msg); else web_puth(msg); }
// <% nvramseq('foo', 'bar%d', 5, 8); %> -> foo = ['a','b','c']; void asp_nvramseq(int argc, char **argv) { int i, e; char s[256]; if (argc != 4) return; web_printf("\n%s = [\n", argv[0]); e = atoi(argv[3]); for (i = atoi(argv[2]); i <= e; ++i) { snprintf(s, sizeof(s), argv[1], i); web_puts("'"); web_putj(nvram_safe_get(s)); web_puts((i == e) ? "'" : "',"); } web_puts("];\n"); }