Changeset 32062


Ignore:
Timestamp:
May 15, 2017, 12:23:46 AM (13 days ago)
Author:
brainslayer
Message:

handmade parser. the regex did not parse it in the correct way

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/router/httpd/visuals/dd-wrt.c

    r32000 r32062  
    55735573        char line[512];
    55745574        int lines = 0;
    5575         char name[32], fname[128], dummy[255];
     5575        char name[32], fname[128];
    55765576        websWrite(wp, "<div class=\"setting\">\n");
    55775577        websWrite(wp, "<div class=\"label\"><script type=\"text/javascript\">Capture(service.dns_crypt_resolv)</script></div>\n");
     
    55855585                                continue;
    55865586                        }
    5587                         sscanf(line, "%[^','],%[^','],%s", name, fname, dummy);
     5587                        int i;
     5588                        for (i = 0; i < sizeof(name); i++) {
     5589                                if (line[i] == ',')
     5590                                        break;
     5591                                name[i] = line[i];
     5592                        }
     5593                        name[i++] = 0;
     5594                        int a, cnt = 0;
     5595                        for (a = i; a < sizeof(fname); a++) {
     5596                                if (line[a] == '"')
     5597                                        cnt++;
     5598                                if (cnt == 2)
     5599                                        break;
     5600                                fname[a] = line[a];
     5601                        }
     5602                        fname[a] = 0;
    55885603                        websWrite(wp, "<option value=\"%s\" %s >%s</option>\n", name, nvram_match("dns_crypt_resolver", name) ? "selected" : "", fname);
    55895604                }
Note: See TracChangeset for help on using the changeset viewer.