diff options
author | wbx <wbx@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-01-31 15:22:43 +0000 |
---|---|---|
committer | wbx <wbx@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-01-31 15:22:43 +0000 |
commit | 9eef5d78c3ee327718f7372bf6b3ef9fe051e921 (patch) | |
tree | cb52022ec4b067e07a3fefb0a3a66838184debe1 /package/nvram/src | |
parent | 1d172228181f3add9c5e9f08019f97e2b8c93bda (diff) |
add changes to nvram from #254/#266, resolves problems on older wap54g, thx for report
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3089 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/nvram/src')
-rw-r--r-- | package/nvram/src/main.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/package/nvram/src/main.c b/package/nvram/src/main.c index a64430f7b..7af26729d 100644 --- a/package/nvram/src/main.c +++ b/package/nvram/src/main.c @@ -26,6 +26,15 @@ usage(void) exit(0); } +/* hack for some PMON default nvram values which have '\r' appended */ +void +puts_trim_cr(char *str) +{ + int len= strlen(str); + if (len && (str[len-1] == '\r')) len--; + printf("%.*s\n", len, str); +} + /* NVRAM utility */ int main(int argc, char **argv) @@ -44,8 +53,9 @@ main(int argc, char **argv) for (; *argv; argv++) { if (!strncmp(*argv, "get", 3)) { if (*++argv) { - if ((value = nvram_get(*argv))) - puts(value); + if ((value = nvram_get(*argv))) { + puts_trim_cr(value); + } } } else if (!strncmp(*argv, "set", 3)) { @@ -66,7 +76,7 @@ main(int argc, char **argv) !strncmp(*argv, "getall", 6)) { nvram_getall(buf, sizeof(buf)); for (name = buf; *name; name += strlen(name) + 1) - puts(name); + puts_trim_cr(name); size = sizeof(struct nvram_header) + (int) name - (int) buf; fprintf(stderr, "size: %d bytes (%d left)\n", size, NVRAM_SPACE - size); } |