Re: [OpenWrt-Devel] [PATCH v2 1/3] ar71xx: add kernel support for the EnGenius ESR900
efhq 发自我的手机18610461647 在 2014年6月24日,下午9:01,John Crispin j...@phrozen.org 写道: Hi, On 22/06/2014 22:20, Forest Crossman wrote: diff --git a/target/linux/ar71xx/files/arch/mips/ath79/nvram.c b/target/linux/ar71xx/files/arch/mips/ath79/nvram.c index 43911b8..41c3542 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/nvram.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/nvram.c @@ -16,6 +16,21 @@ #include nvram.h +char *ath79_nvram_sanitize_mac(char *input) +{ +int i,j; +char *output=input; +for (i = 0, j = 0; istrlen(input); i++,j++) +{ + if (input[i]!='\') +output[j]=input[i]; +else + j--; +} + output[j]=0; +return output; +} + char *ath79_nvram_find_var(const char *name, const char *buf, unsigned buf_len) { unsigned len = strlen(name); this loop is a bit weird. ca you tell us in what way the mac is broken on your board ? John ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
Re: [OpenWrt-Devel] [PATCH v2 1/3] ar71xx: add kernel support for the EnGenius ESR900
Hi, On 22/06/2014 22:20, Forest Crossman wrote: diff --git a/target/linux/ar71xx/files/arch/mips/ath79/nvram.c b/target/linux/ar71xx/files/arch/mips/ath79/nvram.c index 43911b8..41c3542 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/nvram.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/nvram.c @@ -16,6 +16,21 @@ #include nvram.h +char *ath79_nvram_sanitize_mac(char *input) +{ + int i,j; + char *output=input; + for (i = 0, j = 0; istrlen(input); i++,j++) + { + if (input[i]!='\') + output[j]=input[i]; + else + j--; + } + output[j]=0; + return output; +} + char *ath79_nvram_find_var(const char *name, const char *buf, unsigned buf_len) { unsigned len = strlen(name); this loop is a bit weird. ca you tell us in what way the mac is broken on your board ? John ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
Re: [OpenWrt-Devel] [PATCH v2 1/3] ar71xx: add kernel support for the EnGenius ESR900
The MAC as it's stored the u-boot environment looks like 'ethaddr=XX:XX:XX:XX:XX:XX', so to get the other functions to parse the MAC correctly, I had to get rid of the quotes before and after the MAC. There might be a better way to do it, but this method didn't seem too horrible. All this function does is loop through each char in the string to check if it's a quotation mark. If it is, it skips over it and puts the next char in the place the quote would go, effectively doing a `tr -d '\'` on the MAC string. It then fills the rest of the output array with null bytes before returning it. If the MAC string doesn't have any quotes in it, it just returns the input string. I suppose I could have just checked to make sure the first and last chars were quotes and then returned the MAC string sans those chars, but that didn't occur to me at the time I was writing that function. -- Forest Crossman On Tue, Jun 24, 2014 at 9:01 AM, John Crispin j...@phrozen.org wrote: Hi, On 22/06/2014 22:20, Forest Crossman wrote: diff --git a/target/linux/ar71xx/files/arch/mips/ath79/nvram.c b/target/linux/ar71xx/files/arch/mips/ath79/nvram.c index 43911b8..41c3542 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/nvram.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/nvram.c @@ -16,6 +16,21 @@ #include nvram.h +char *ath79_nvram_sanitize_mac(char *input) +{ + int i,j; + char *output=input; + for (i = 0, j = 0; istrlen(input); i++,j++) + { + if (input[i]!='\') + output[j]=input[i]; + else + j--; + } + output[j]=0; + return output; +} + char *ath79_nvram_find_var(const char *name, const char *buf, unsigned buf_len) { unsigned len = strlen(name); this loop is a bit weird. ca you tell us in what way the mac is broken on your board ? John ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel