aboutsummaryrefslogtreecommitdiff
path: root/newlib/libc/string
AgeCommit message (Collapse)AuthorFilesLines
2018-01-17ansification: remove _EXFUN, _EXFUN_NOTHROWYaakov Selkowitz1-1/+1
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2018-01-17ansification: remove _DEFUNYaakov Selkowitz85-175/+88
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2018-01-17ansification: remove _CAST_VOIDYaakov Selkowitz1-3/+3
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2018-01-17ansification: remove _PTRYaakov Selkowitz9-25/+25
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2018-01-17ansification: remove _PARAMSYaakov Selkowitz1-1/+1
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2018-01-17ansification: remove _CONSTYaakov Selkowitz70-144/+144
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2018-01-17ansification: remove _ANDYaakov Selkowitz77-124/+124
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-07makedoc: make errors visibleJon Turney1-3/+3
Discard QUICKREF sections, rather than writing them to stderr Discard MATHREF sections, rather than discarding as an error Pass NOTES sections through to texinfo, rather than discarding as an error Don't redirect makedoc stderr to .ref file Remove makedoc output on error Remove .ref files from CLEANFILES Regenerate Makefile.ins Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
2017-12-01string: remove TRAD_SYNOPSISYaakov Selkowitz85-546/+85
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-30string: add wmempcpyYaakov Selkowitz4-38/+81
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-09-19Fix warnings and documentation in strnstr.cSebastian Huber1-4/+3
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2017-08-30newlib: string/Makefile.am (CHEWOUT_FILES): Add strnstr.defCorinna Vinschen2-2/+2
Regenerate strings/Makefile.in Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-08-30newlib: strnstr: drop traditional synopisisCorinna Vinschen1-7/+0
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-08-30Add man page entry for strnstr.c.Sichen Zhao2-0/+43
2017-08-30Modify strnstr.c.Sichen Zhao1-55/+10
2017-08-25newlib: rebuild string/Makefile.inCorinna Vinschen1-27/+49
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-08-25Port strnstr.c to newlib.Sichen Zhao1-0/+1
2017-08-25Import strnstr.c from FreeBSD.Sichen Zhao1-0/+65
2017-07-05Add ffsl(), ffsll(), fls(), flsl(), flsll()Sebastian Huber7-13/+238
Use compiler builtin for ffs(). Remove duplicate implementation from Cygwin. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2017-07-05Implement bzero() via memset()Sebastian Huber1-8/+5
Use memset() to implement bzero() to profit from machine-specific memset() optimizations. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2017-06-19string: fix strverscmp doc inclusionYaakov Selkowitz1-0/+3
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-06-19string: add strverscmpYaakov Selkowitz4-2/+114
The actual implementation is from musl (MIT license). Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-03-15libc/string/strsignal.c: Use of || not && lead to dead code.Joel Sherrill1-4/+2
Coverity Id: 175333
2017-01-16Add missing headers to fix implicit function defnsPat Pannuto2-0/+2
A few files were missing headers for memset/malloc, likely missed because the files don't directly call the functions, rather they come in via macros in libc/include/sys/reent.h: #define _REENT_CHECK(var, what, type, size, init) do { \ struct _reent *_r = (var); \ if (_r->what == NULL) { \ _r->what = (type)malloc(size); \ #define _REENT_CHECK_ASCTIME_BUF(var) \ _REENT_CHECK(var, _asctime_buf, char *, _REENT_ASCTIME_SIZE, \ memset((var)->_asctime_buf, 0, _REENT_ASCTIME_SIZE)) Without these fixes, implicit function signatures are provided, which gcc warns could cause aliasing issues down the line: ../../../../../../../newlib-2.5.0/newlib/libc/time/asctime.c:62:3: warning: type of 'memset' does not match original declaration [-Wlto-type-mismatch] /Volumes/code/external/newlib-cygwin/newlib/libc/include/string.h:29:7: note: return value type mismatch _PTR _EXFUN(memset,(_PTR, int, size_t)); ^ /Volumes/code/external/newlib-cygwin/newlib/libc/include/string.h:29:7: note: 'memset' was previously declared here /Volumes/code/external/newlib-cygwin/newlib/libc/include/string.h:29:7: note: code may be misoptimized unless -fno-strict-aliasing is used ../../../../../../../newlib-2.5.0/newlib/libc/time/asctime.c:62:3: warning: type of 'malloc' does not match original declaration [-Wlto-type-mismatch] /Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: return value type mismatch extern _PTR malloc _PARAMS ((size_t)); ^ /Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: 'malloc' was previously declared here /Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: code may be misoptimized unless -fno-strict-aliasing is used ../../../../../../../newlib-2.5.0/newlib/libc/time/lcltime.c:58:3: warning: type of 'malloc' does not match original declaration [-Wlto-type-mismatch] /Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: return value type mismatch extern _PTR malloc _PARAMS ((size_t)); ^ /Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: 'malloc' was previously declared here /Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: code may be misoptimized unless -fno-strict-aliasing is used ../../../../../../../newlib-2.5.0/newlib/libc/string/strsignal.c:70:3: warning: type of 'malloc' does not match original declaration [-Wlto-type-mismatch] /Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: return value type mismatch extern _PTR malloc _PARAMS ((size_t)); ^ /Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: 'malloc' was previously declared here /Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: code may be misoptimized unless -fno-strict-aliasing is used Including the proper headers elminates the implicit function signatures and these warnings.
2016-12-22Bump release to 2.5.0 for yearly snapshot.newlib-2_5_0Jeff Johnston1-32/+18
2016-08-31Fix typo in strerror doccygwin-2_6_0-releaseCorinna Vinschen1-1/+1
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-08-23strerror_l: Fix copy-and-paste typoEric Blake1-1/+1
Signed-off-by: Eric Blake <eblake@redhat.com>
2016-08-23Mention strerror_l in libc/string/strings.texCorinna Vinschen1-1/+1
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-08-23Implement missing POSIX-1.2008 function strerror_lCorinna Vinschen1-1/+18
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-08-21Remove extern declaration of __locale_cjk_lang in string/local.hCorinna Vinschen1-4/+0
Now that __locale_cjk_lang is an inline function in setlocale.h and setlocale.h is included, the declaration doesn't make sense. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-08-15Implement per-locale string functionsCorinna Vinschen18-52/+576
strcasecmp_l, strcoll_l, strncasecmp_l, strxfrm_l, wcscasecmp_l, wcscoll_l, wcstrncasecmp_l, wcstrxfrm_l, strftime_l. Add missing CHEWOUT_FILES from previous patch. TODO: strfmon_l. Signed-off by: Corinna Vinschen <corinna@vinschen.de>
2016-07-04Regenerate newlib MakefilesJon Turney1-3/+16
2016-03-18Add timingsafe_memcmp()Sebastian Huber3-18/+73
This function is used by LibreSSL and OpenSSH and is provided by the OpenBSD libc. * libc/include/string.h (timingsafe_memcmp): Declare. * libc/string/timingsafe_memcmp.c: New file. * libc/string/Makefile.am: Add new file. * libc/string/Makefile.in: Regenerate.
2016-03-18Add timingsafe_bcmp()Sebastian Huber3-21/+58
This function is used by LibreSSL and OpenSSH and is provided by the OpenBSD libc. * libc/include/string.h (timingsafe_bcmp): Declare. * libc/string/timingsafe_bcmp.c: New file. * libc/string/Makefile.am: Add new file. * libc/string/Makefile.in: Regenerate.
2016-03-18Add explicit_bzero()Sebastian Huber3-46/+72
This function is used by LibreSSL and OpenSSH and is provided by the OpenBSD libc. * libc/include/string.h (explicit_bzero): Declare. * libc/string/explicit_bzero.c: New file. * libc/string/Makefile.am: Add new file. * libc/string/Makefile.in: Regenerate.
2016-02-12Fix compile with GCC 5 -WerrorYaakov Selkowitz1-1/+1
newlib/libc/ * stdio64/freopen64.c: Include <string.h> for memset(). * stdlib/quick_exit.c: Include <unistd.h> for _exit(). * string/gnu_basename.c (__gnu_basename): Fix discarded const qualifier warning. * stdlib/strtold.c: Include "mprec.h" for _strtorx_r(). Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2015-11-02Move duplicated documentation rules to Makefile.sharedJeff Johnston2-21/+15
- Also, harmonize libm to use CHEWOUT_FILES like libc, rather than chobj. Update documentation appropriately. * HOWTO: Update. * Makefile.shared: Move documentation rules to here... * libc/argz/Makefile.am: ... from here ... * libc/ctype/Makefile.am: ... and here. * libc/errno/Makefile.am: Ditto. * libc/iconv/Makefile.am: Ditto. * libc/iconv/ccs/Makefile.am : Ditto. * libc/iconv/ces/Makefile.am: Ditto. * libc/iconv/lib/Makefile.am: Ditto. * libc/locale/Makefile.am: Ditto. * libc/misc/Makefile.am: Ditto. * libc/posix/Makefile.am: Ditto. * libc/reent/Makefile.am: Ditto. * libc/search/Makefile.am: Ditto. * libc/stdio/Makefile.am: Ditto. * libc/stdio64/Makefile.am: Ditto. * libc/stdlib/Makefile.am : Ditto. * libc/string/Makefile.am: Ditto. * libc/syscalls/Makefile.am: Ditto. * libc/time/Makefile.am : Ditto. * libc/unix/Makefile.am: Ditto. * libc/xdr/Makefile.am: Ditto. * libm/common/Makefile.am: Ditto. * libm/complex/Makefile.am: Ditto. * libm/math/Makefile.am: Ditto. * libm/mathfp/Makefile.am: Ditto.
2015-11-02Add missing semicolons to prototypes.Jeff Johnston2-8/+8
* libc/stdio/fseek.c: Add missing semicolons to prototypes in SYNOPSIS. * libc/stdio/fwide.c: Ditto. * libc/stdio64/fseeko64.c: Ditto. * libc/string/strtok.c: Ditto. * libc/string/wcstok.c: Ditto. * libm/math/w_cosh.c: Ditto. * libm/math/w_fmod.c: Ditto. * libm/mathfp/s_cosh.c: Ditto. * libm/mathfp/s_fmod.c: Ditto.
2015-06-29Regenerate Makefile.inJon TURNEY1-1/+1
Regenerate Makefile.in with changes in commits 153385d8 and 433aad91 2015-06-29 Jon Turney <jon.turney@dronecode.org.uk> * libc/ctype/Makefile.in: Regenerate. * libc/posix/Makefile.in: Ditto. * libc/stdio/Makefile.in: Ditto. * libc/stdio64/Makefile.in: Ditto. * libc/stdlib/Makefile.in: Ditto. * libc/string/Makefile.in: Ditto. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2015-06-24Use source files which have makedoc markup, but aren't processed or included.newlib-snapshot-20150623Jon TURNEY2-1/+5
These source files have makedoc markup, but aren't listed to be chewed by makedoc. I am assuming that is accidental. Future work: Note that stdio/fseeko.c, stdio/ftello.c and common/s_isnand.c have makedoc markup, but duplicate stdio/fseek.c, stdio/ftell.c and common/s_isnan.c respectively. 2015-06-23 Jon Turney <jon.turney@dronecode.org.uk> * libc/ctype/Makefile.am (CHEWOUT_FILES): Add isblank.def. * libc/ctype/ctype.tex: Include isblank and add to menu. * libc/posix/Makefile.am (CHEWOUT_FILES): Add posix_spawn.def. * libc/posix/posix.tex: Include posix_spawn and add to menu. * libc/stdio64/Makefile.am (CHEWOUT_FILES): Add fdopen.def. * libc/stdio64/stdio64.tex: Include fdopen64 and add to menu. * libc/stdio64/fdopen64.c: Improve one-line description. * libc/string/Makefile.am (CHEWOUT_FILES): Add strchrnul.def. * libc/string/strings.tex: Include strchrnul and add to menu. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2015-06-24Use makedoc output files which are generated but aren't includedJon TURNEY1-0/+8
I think these are accidental omissions, as these source files are listed to be chewed by makedoc, but the result is not included by any texinfo source file. Future work: Nothing in libc/reent/ which is processed by makedoc is included by reent.tex 2015-06-23 Jon Turney <jon.turney@dronecode.org.uk> * libc/stdlib/stdlib.tex: Include itoa and utoa, and add to menu. * libc/string/strings.tex: Include memrchr and rawmemchr, and add to menu. * libm/math/math.tex: Include exp10 and pow10, and add to menu. * libm/common/s_exp10.c: Improve one-line description. * libm/common/s_exp10.c: Ditto. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2015-06-23Remove stray punctuation in ANSI_SYNOPSIS prototypesJon TURNEY2-2/+2
2015-06-23 Jon Turney <jon.turney@dronecode.org.uk> * libc/string/wcscpy.c: Remove stray ',' from prototype in ANSI_SYNOPSIS. * libc/string/wcpcpy.c: Ditto. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2015-04-23string: add GNU basename(3)Yaakov Selkowitz3-2/+38
* libc/include/libgen.h (_BASENAME_DEFINED): Define. * libc/include/string.h (basename): Declare. * libc/string/Makefile.am (ELIX_4_SOURCES): Add gnu_basename.c. * libc/string/Makefile.in: Regenerate. * libc/string/gnu_basename.c: New file.
2014-10-09 * libc/string/memccpy.c (memccpy): Fix warning about signed-unsignedCorinna Vinschen8-9/+15
comparison * libc/string/memchr.c (memchr): Ditto. * libc/string/memrchr.c (memrchr): Ditto. * libc/string/memset.c: (memset): Ditto. * libc/string/rawmemchr.c (rawmemchr): Ditto. * libc/string/local.h (__locale_cjk_lang): Fix "function declaration isn't a prototype" warning. * libc/string/strcasestr.c (strcasestr): Ditto. * libc/string/u_strerr.c (_user_strerror): Fix "unused parameter" warnings. * libc/string/rawmemchr.c (rawmemchr): Fix comment type "// ..." -> "/* ... */".
2014-07-30 * libc/string/strerror.c: Fix documentation so makedoc doesn'tCorinna Vinschen1-1/+1
stumble over a sole EAGAIN.
2014-07-14 * libc/include/sys/errno.h: Fix comments.Corinna Vinschen1-17/+74
* libc/string/strerror.c: Fix documentation. (_strerror_r): Handle ENETRESET, EILSEQ, ENODATA, ECONNRESET, EADDRNOTAVAIL, EOVERFLOW. Fix strings for EMFILE and EDOM.
2013-12-102013-12-10 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston3-0/+19
* acconfig.h: Add _HAVE_CC_INHIBIT_LOOP_TO_LIBCALL. * newlib.hin: Ditto. * configure: Regenerate. * configure.in: Add setting of _HAVE_CC_INHIBIT_LOOP_TO_LIBCALL. * libc/string/local.h: Add check for _HAVE_CC_INHIBIT_LOOP_TO_LIBCALL and set __inhibit_loop_to_libcall macro appropriately. * libc/string/memmove.c: Use __inhibit_loop_to_libcall macro in function declaration. * libc/string/memset.c: Ditto.
2013-11-262013-11-26 Julio Gutierrez <jgutleyva@gmail.com>Joel Sherrill10-52/+61
*libc/include/wchar.h: Add restrict keyword. *libc/stdio/fgetws.c (fgetws): ditto. *libc/stdio/fputws.c (fputws): ditto. *libc/stdio/fwprintf.c (fwprintf): ditto. *libc/stdio/fwscanf.c (fwscanf): ditto. *libc/stdio/swprintf.c (swprintf): ditto. *libc/stdio/swscanf.c (swscanf): ditto. *libc/stdio/vfwprintf.c (vfwprintf): ditto. *libc/stdio/vfwscanf.c (vfwscanf): ditto. *libc/stdio/vswprintf.c (vswprintf): ditto. *libc/stdio/vswscanf.c (vswscanf): ditto. *libc/stdio/vwprintf.c (vwprintf): ditto. *libc/stdio/vwscanf.c (vwscanf): ditto. *libc/stdio/wprintf.c (wprintf): ditto. *libc/stdio/wscanf.c (wscanf): ditto. *libc/stdlib/mbrlen.c (mbrlen): ditto. *libc/stdlib/mbrtowc.c (mbrtowc): ditto. *libc/stdlib/mbsnrtowcs.c (mbsnrtowcs): ditto. *libc/stdlib/mbsrtowcs.c (mbsrtowcs): ditto. *libc/stdlib/wcrtomb.c (wcrtomb): ditto. *libc/stdlib/wcsnrtombs.c (wcsnrtombs): ditto. *libc/stdlib/wcsrtombs.c (wcsrtombs): ditto. *libc/stdlib/wcstod.c (wcstod): ditto. *libc/stdlib/wcstol.c (wcstol): ditto. *libc/stdlib/wcstold.c (wcstold): ditto. *libc/stdlib/wcstoll.c (wcstoll): ditto. *libc/stdlib/wcstoul.c (wcstoul): ditto. *libc/stdlib/wcstoull.c (cstoull): ditto. *libc/string/wcpcpy.c (wcpcpy): ditto. *libc/string/wcpncpy.c (wcpncpy): ditto. *libc/string/wcscat.c (wcscat): ditto. *libc/string/wcscpy.c (wcscpy): ditto. *libc/string/wcsncat.c (wcsncat): ditto. *libc/string/wcsncpy.c (wcsncpy): ditto. *libc/string/wcsstr.c (wcsstr): ditto. *libc/string/wcstok.c (wcstok): ditto. *libc/string/wcsxfrm.c (wcsxfrm): ditto. *libc/string/wmemcpy.c (wmemcpy): ditto.
2013-08-082013-08-08 Freddie Chopin <freddie_chopin@op.pl>Joel Sherrill1-1/+1
* libc/string/strncat.c: Fix typo in documentation.
2013-07-23 * libc/sys/linux/include/netdb.h, libc/sys/linux/net/getaddrinfo.c,Corinna Vinschen10-32/+39
libc/sys/linux/net/getnameinfo.c: Add restrict keyword to getnameinfo() and getaddrinfo() to increase standards compliance and match glibc. * libc/include/string.h, libc/string/memccpy.c, libc/string/memcpy.c, libc/string/stpcpy.c, libc/string/stpncpy.c, libc/string/strcat.c, libc/string/strncat.c, libc/string/strncpy.c, libc/string/strtok.c, libc/string/strtok_r.c, libc/string/strxfrm.c libc/machine/microblaze/strcpy.c, libc/machine/xscale/memcpy.c, libc/machine/cris/memcpy.c: Add __restrict to prototype to increase standards compliance.