X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/cc4e5a8091c2c545d7da199875596c17ed145807..49417b68d05e44f253f2a97e1d0a9422b5330a55:/openwrt/package/wificonf/wificonf.c diff --git a/openwrt/package/wificonf/wificonf.c b/openwrt/package/wificonf/wificonf.c index 6bb26b134..b3acbff69 100644 --- a/openwrt/package/wificonf/wificonf.c +++ b/openwrt/package/wificonf/wificonf.c @@ -126,11 +126,11 @@ int bcom_set_val(int skfd, char *ifname, char *var, void *val, int len) return -1; strcpy(buf, var); + memcpy(&buf[strlen(var) + 1], val, len); if ((ret = bcom_ioctl(skfd, ifname, WLC_SET_VAR, buf, sizeof(buf)))) return ret; - memcpy(val, buf, len); return 0; } @@ -430,7 +430,7 @@ void set_wext_mode(skfd, ifname) /* Set operation mode */ ap = !nvram_match(wl_var("mode"), "sta") && !nvram_match(wl_var("mode"), "wet"); infra = !nvram_disabled(wl_var("infra")); - wet = nvram_match(wl_var("mode"), "wet"); + wet = !ap && !nvram_disabled(wl_var("wet")); wrq.u.mode = (!infra ? IW_MODE_ADHOC : (ap ? IW_MODE_MASTER : (wet ? IW_MODE_REPEAT : IW_MODE_INFRA))); IW_SET_EXT_ERR(skfd, ifname, SIOCSIWMODE, &wrq, "Set Mode");