ar71xx: another fix to wndr3700_board_detect

My last bugfix (r47538) introduced a new bug in wndr3700_board_detect
(again...).

Assigning the result of ar71xx_get_mtd_offset_size_format to the model
variable before stripping of garbage using awk will cause all NUL bytes to
be removed before awk is applied, leading to model strings like
"NETGEAR WNDRMACv2NETGEAR", where a NUL byte after the v2 is supposed to
terminate the string.

Fix by calling ar71xx_get_mtd_offset_size_format twice, once piping to awk
directly.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

Backport of r48075

git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@48089 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Felix Fietkau 2016-01-03 14:48:17 +00:00
parent 8e85d7a8ad
commit 31120eb188
1 changed files with 1 additions and 1 deletions

View File

@ -39,7 +39,7 @@ wndr3700_board_detect() {
"33373031")
model="$(ar71xx_get_mtd_offset_size_format art 41 32 %c)"
# Use awk to remove everything unprintable
model_stripped="$(echo -n "$model" | LC_CTYPE=C awk -v 'FS=[^[:print:]]' '{print $1; exit}')"
model_stripped="$(ar71xx_get_mtd_offset_size_format art 41 32 %c | LC_CTYPE=C awk -v 'FS=[^[:print:]]' '{print $1; exit}')"
case $model in
$'\xff'*)
if [ "${model:24:1}" = 'N' ]; then