GUI / httpd: misc.c - speed up status-overview (part 2)

Note: use cfe/bl nvram values if available (~95%)

tested with Asus RT-N18U / R7000, working
arm-sdk7
M_ars 4 years ago committed by pedro
parent 82a92b2d73
commit 994c7db1ab

@ -254,9 +254,25 @@ static char* get_cfeversion(char *buf)
char s[16] = "";
int len = 0;
char *netgear = nvram_get("board_id"); /* U12HXXXXXX_NETGEAR for FT mips and arm */
char *cfe_version = nvram_get("cfe_version"); /* Ex.: Netgear R7000 cfe_version=v1.0.22 ; for FT mips and arm */
char *bl_version = nvram_get("bl_version"); /* Ex.: Asus RT-N18U bl_version=2.0.0.9 ; for FT mips and arm */
strcpy(buf, "");
/* check nvram first to speed up */
/* Asus */
if (bl_version != NULL) {
len = strlen(bl_version);
strncpy(s, bl_version, sizeof(s)-1);
s[sizeof(s)-1] = '\0';
}
/* Netgear */
else if (cfe_version != NULL) {
len = strlen(cfe_version);
strncpy(s, cfe_version, sizeof(s)-1);
s[sizeof(s)-1] = '\0';
}
else {
/* get ASUS Bootloader version */
if ((netgear == NULL) && ((f = popen("strings /dev/mtd0ro | grep bl_version | cut -d '=' -f2", "r")) != NULL)) {
if (fgets(s, 15, f) != NULL)
@ -274,6 +290,7 @@ static char* get_cfeversion(char *buf)
pclose(f);
}
}
}
if (len == 0)
strcpy(buf, "--");

Loading…
Cancel
Save