--- embedtools/src/vap.c 2010/10/27 16:35:54 1.1.2.3 +++ embedtools/src/vap.c 2010/10/28 09:08:58 1.1.2.5 @@ -15,7 +15,7 @@ wifi_getParent(const char *csVAP, char *psParent, size memset(psParent, 0, plen); snprintf(szOID, STRSIZ, "net.wlan.%s.%%parent", csVAP + 4); if (sysctlbyname(szOID, psParent, &plen, NULL, 0) == -1) { - syslog(LOG_ERR, "Error:: can`t get parent #%d - %s\n", errno, strerror(errno)); +// syslog(LOG_ERR, "Error:: can`t get parent #%d - %s\n", errno, strerror(errno)); return -1; } else psParent[plen] = 0; @@ -128,4 +128,21 @@ wifi_buildWDS(int fd, char **ppsIF, int nIF) } return wds; +} + +inline void +wifi_destroyWDS(const char *csIface, struct dwds_if **wds) +{ + struct dwds_if *p, **pp; + + assert(csIface); + assert(wds); + + for (pp = wds; (p = *pp); pp = &p->if_next) + if (!strncmp(p->if_name, csIface, IFNAMSIZ)) + break; + if (p) { + *pp = p->if_next; + free(p); + } }