benrg <benrud...@gmail.com> added the comment:

memmem isn't a standard C function, and some libraries don't have it, notably 
Microsoft's.

newlib's memmem seems to be the same as glibc's, but is under a BSD 3-clause 
license instead of LGPL. An older version of newlib's memmem (prior to 
2019-01-01) has the license "Permission to use, copy, modify, and distribute 
this software is freely granted, provided that this notice is preserved", and 
is still highly optimized and much better than a naive implementation.

Of course, bundling it would no longer be quite so "free".

Old newlib memmem: 
https://sourceware.org/git/?p=newlib-cygwin.git;a=blob_plain;f=newlib/libc/string/memmem.c;h=25704e467decff5971b34f4189ddfff04ac5fa8e

New newlib memmem: 
https://sourceware.org/git/?p=newlib-cygwin.git;a=blob_plain;f=newlib/libc/string/memmem.c

Helper file for both: 
https://sourceware.org/git/?p=newlib-cygwin.git;a=blob_plain;f=newlib/libc/string/str-two-way.h

----------
nosy: +benrg

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue46848>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to