David, Thanks for the patches. In case you haven't been following for the last couple of weeks, we switched to a mercurial repository. The three patches you submitted have been applied to tip of default and should be in the 2.0 release when it goes out in a week or so here.
Regards, John > -----Original Message----- > From: David L Stevens [mailto:dlstev...@us.ibm.com] > Sent: Tuesday, November 27, 2012 10:07 AM > To: openslp-devel@lists.sourceforge.net > Subject: [Openslp-devel] [PATCH] simplify interface list parsing > > > This patch replaces by-hand pointer tracking while parsing comma-separated > IP addresses with a simple loop using the POSIX standard strtok_r() function. > > Signed-Off-By: David L Stevens <dlstev...@us.ibm.com> > > diff --git a/common/slp_iface.c b/common/slp_iface.c index > b512986..e1423a3 100644 > --- a/common/slp_iface.c > +++ b/common/slp_iface.c > @@ -737,29 +737,24 @@ int SLPIfaceGetInfo(const char * useifaces, > SLPIfaceInfo * ifaceinfo, > > if (p) > { > - char * ep = p + strlen(p); > - char * slider1 = p; > - char * slider2 = p; > + char *token, *saveptr; > char interface[MAX_IFACE_LEN]; > int ret = 0; > > - while (slider1 < ep) > + for (token = strtok_r(p, ",", &saveptr); token; > + token = strtok_r(NULL, ",", &saveptr)) > { > - while (*slider2 != 0 && *slider2 != ',') > - slider2++; > - *slider2 = 0; > - > - ret = SLPD_Get_Iface_From_Ip(slider1, (char *)&interface); > + ret = SLPD_Get_Iface_From_Ip(token, (char *)&interface); > > if (SLPIfaceContainsAddr(useifaceslen, useifaces, > - strlen(slider1), slider1)) > + strlen(token), token)) > { > sockfd_t fd; > struct sockaddr_in v4addr; > struct sockaddr_in6 v6addr; > > /* check if an ipv4 address was given */ > - if (SLP_inet_pton(AF_INET, slider1, &v4addr.sin_addr) == 1) > + if (SLP_inet_pton(AF_INET, token, &v4addr.sin_addr) == > + 1) > { > if (SLPNetIsIPV4() && ((family == AF_INET) || (family == > AF_UNSPEC))) > { > @@ -776,7 +771,7 @@ int SLPIfaceGetInfo(const char * useifaces, > SLPIfaceInfo * ifaceinfo, > } > } > } > - else if (SLP_inet_pton(AF_INET6, slider1, &v6addr.sin6_addr) == 1) > + else if (SLP_inet_pton(AF_INET6, token, > + &v6addr.sin6_addr) == 1) > { > if (SLPNetIsIPV6() && ((family == AF_INET6) || (family == > AF_UNSPEC))) > { > @@ -798,7 +793,6 @@ int SLPIfaceGetInfo(const char * useifaces, > SLPIfaceInfo * ifaceinfo, > else > sts = (errno = EINVAL), -1; /* not v4, not v6 */ > } > - slider1 = ++slider2; > } > } > xfree(p); > > > ---------------------------------------------------------------------------- -- > Monitor your physical, virtual and cloud infrastructure from a single web > console. Get in-depth insight into apps, servers, databases, vmware, SAP, > cloud infrastructure, etc. Download 30-day Free Trial. > Pricing starts from $795 for 25 servers or applications! > http://p.sf.net/sfu/zoho_dev2dev_nov > _______________________________________________ > Openslp-devel mailing list > Openslp-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/openslp-devel ------------------------------------------------------------------------------ Keep yourself connected to Go Parallel: INSIGHTS What's next for parallel hardware, programming and related areas? Interviews and blogs by thought leaders keep you ahead of the curve. http://goparallel.sourceforge.net _______________________________________________ Openslp-devel mailing list Openslp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openslp-devel