Yes, I can. On 17 Aug 2017 8:32 p.m., "Gedare Bloom" <ged...@rtems.org> wrote:
> Aditya, > > Can you help Sichen to put the file in the right place in newlib and > add to the build? Either help him understand how to do it, or do it > with/for him? > > On Thu, Aug 17, 2017 at 10:58 AM, Aditya Upadhyay <aadit0...@gmail.com> > wrote: > > Yes.. Definitely i will do. Sichen can directly send the patch for > strnstr > > to newlib ml. > > > > Thanks, > > Aditya Upadhyay > > > > On 17 Aug 2017 7:03 p.m., "Joel Sherrill" <j...@rtems.org> wrote: > >> > >> > >> > >> On Aug 17, 2017 8:19 AM, "Gedare Bloom" <ged...@rtems.org> wrote: > >> > >> On Wed, Aug 16, 2017 at 8:14 PM, Sichen Zhao <1473996...@qq.com> wrote: > >> > --- > >> > freebsd/lib/libc/string/strnstr.c | 67 > >> > +++++++++++++++++++++++++++++++++++++++ > >> > 1 file changed, 67 insertions(+) > >> > create mode 100644 freebsd/lib/libc/string/strnstr.c > >> > > >> > diff --git a/freebsd/lib/libc/string/strnstr.c > >> > b/freebsd/lib/libc/string/strnstr.c > >> > new file mode 100644 > >> > index 0000000..247a2b5 > >> > --- /dev/null > >> > +++ b/freebsd/lib/libc/string/strnstr.c > >> > @@ -0,0 +1,67 @@ > >> > +#include <machine/rtems-bsd-user-space.h> > >> > + > >> > +/*- > >> > + * Copyright (c) 2001 Mike Barcroft <m...@freebsd.org> > >> > + * Copyright (c) 1990, 1993 > >> > + * The Regents of the University of California. All rights > >> > reserved. > >> > + * > >> > + * This code is derived from software contributed to Berkeley by > >> > + * Chris Torek. > >> > + * > >> > + * Redistribution and use in source and binary forms, with or without > >> > + * modification, are permitted provided that the following conditions > >> > + * are met: > >> > + * 1. Redistributions of source code must retain the above copyright > >> > + * notice, this list of conditions and the following disclaimer. > >> > + * 2. Redistributions in binary form must reproduce the above > copyright > >> > + * notice, this list of conditions and the following disclaimer in > >> > the > >> > + * documentation and/or other materials provided with the > >> > distribution. > >> > + * 3. Neither the name of the University nor the names of its > >> > contributors > >> > + * may be used to endorse or promote products derived from this > >> > software > >> > + * without specific prior written permission. > >> > + * > >> > + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS > IS'' > >> > AND > >> > + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, > >> > THE > >> > + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR > >> > PURPOSE > >> > + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE > >> > LIABLE > >> > + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > >> > CONSEQUENTIAL > >> > + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE > >> > GOODS > >> > + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > >> > INTERRUPTION) > >> > + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > CONTRACT, > >> > STRICT > >> > + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN > >> > ANY WAY > >> > + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE > POSSIBILITY > >> > OF > >> > + * SUCH DAMAGE. > >> > + */ > >> > + > >> > +#if defined(LIBC_SCCS) && !defined(lint) > >> > +static char sccsid[] = "@(#)strstr.c 8.1 (Berkeley) 6/4/93"; > >> > +#endif /* LIBC_SCCS and not lint */ > >> > +#include <sys/cdefs.h> > >> > +__FBSDID("$FreeBSD$"); > >> > + > >> > +#include <string.h> > >> > + > >> > +/* > >> > + * Find the first occurrence of find in s, where the search is > limited > >> > to the > >> > + * first slen characters of s. > >> > + */ > >> > +char * > >> > +strnstr(const char *s, const char *find, size_t slen) > >> > +{ > >> > + char c, sc; > >> > + size_t len; > >> > + > >> > + if ((c = *find++) != '\0') { > >> > + len = strlen(find); > >> > + do { > >> > + do { > >> > + if (slen-- < 1 || (sc = *s++) == '\0') > >> > + return (NULL); > >> > + } while (sc != c); > >> > + if (len > slen) > >> > + return (NULL); > >> > + } while (strncmp(s, find, len) != 0); > >> > + s--; > >> > + } > >> > + return ((char *)s); > >> > +} > >> > >> This can definitely be added in newlib. Aditya may be able to assist > >> in the process? > >> > >> > >> Agreed. This should be as widely available to RTEMS applications as > >> possible. > >> > >> > >> > >> > -- > >> > 2.7.4 > >> > > >> > _______________________________________________ > >> > devel mailing list > >> > devel@rtems.org > >> > http://lists.rtems.org/mailman/listinfo/devel > >> _______________________________________________ > >> devel mailing list > >> devel@rtems.org > >> http://lists.rtems.org/mailman/listinfo/devel > >> > >> > > >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel