History log of /freebsd-11.0-release/lib/libc/string/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
303975 11-Aug-2016 gjb

Copy stable/11@r303970 to releng/11.0 as part of the 11.0-RELEASE
cycle.

Prune svn:mergeinfo from the new branch, and rename it to RC1.

Update __FreeBSD_version.

Use the quarterly branch for the default FreeBSD.conf pkg(8) repo and
the dvd1.iso packages population.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

302408 08-Jul-2016 gjb

Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, as nothing has been merged
here.

Additional commits post-branch will follow.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


298830 30-Apr-2016 pfg

libc: spelling fixes.

Mostly on comments.


296128 26-Feb-2016 bdrewery

Make it clear that the "size" argument is for the dst string.

The rest of the manpage already referenced 'dstsize' but did not rename
the variable in the prototype in r257646.

MFC after: 3 days
Sponsored by: EMC / Isilon Storage Division


294597 22-Jan-2016 wblock

Add a standards compliance note for strtok_r as suggested by cpercival.

Reviewed by: cpercival
MFC after: 1 week


293856 13-Jan-2016 brooks

Avoid reading pass the end of the source buffer when it is not NUL
terminated.

If this buffer is adjacent to an unmapped page or a version of C with
bounds checked is used this may result in a crash.

PR: 206178
Submitted by: Alexander Cherepanov <cherepan@mccme.ru>
MFC after: 1 week


293855 13-Jan-2016 brooks

Avoid reading pass the end of the source buffer when it is not NUL
terminated.

If this buffer is adjacent to an unmapped page or a version of C with
bounds checked is used this may result in a crash.

PR: 206177
Submitted by: Alexander Cherepanov <cherepan@mccme.ru>
MFC after: 1 week


290494 07-Nov-2015 bapt

Improve collation string and locales support

Merge collation support from Illumos and DragonflyBSD.

Locales are now generated with the new localedef(1) tool from CLDR POSIX files.
The generated files are now identified as "BSD 1.0" format.

The libc now only read "BSD 1.0" locales definitions, all other version will be
set to "C"
The localedef(1) tool has been imported from Illumos and modified to use tree(3)
instead of the CDDL avl(3)
A set of tool created by edwin@ and extended by marino@ for dragonfly has been
added to be able to generate locales and the Makefiles from the vanilla CLDR
unicode databases + a universal UTF-8 charmap (by marino@)
Update the locales to unicode v27
Given our regex(3) does not support multibyte (yet) it has been forced to always
use locale C
Remove now unused colldef(1) and mklocale(1)
Finish implementing the numeric BSD extension for ctypes
The number of supported locales has grown from 175 to 250 locales. Among the new
locales: 6 Arabic locales (AE EG JO MA QA SA), Different variations of spanish
locales.
Added new 3 components locales for mn_Cyrl_MN, sr_Cyrl_RS sr_Latn_RS,
zh_Hans_CN, zh_Hant_HK and zh_Hant_TW. Some aliases has been for 2 components
version when possible.

Thanks: Garrett D'Amore (Illumos) who made sure all his work was done under
BSD license!, Edwin Groothuis (edwin@) for the work he made on tools to be able
to generate locales definition usable in freebsd sources out of vanilla CLDR
definitions, John Marino (DragonflyBSD) who first merge the Illumos work into
Dragonfly and spent hours tracking down bugs.


289467 17-Oct-2015 cem

Document bitset(9)


288004 20-Sep-2015 rodrigc

Add declaration to eliminate -Wmissing-prototypes warning.


287181 26-Aug-2015 delphij

Replace strndup with OpenBSD's implementation.

MFC after: 2 weeks


287089 24-Aug-2015 araujo

Fix spelling.

Reviewed by: wblock, pfg
Approved by: bapt (mentor)
Differential Revision: D3380


287088 24-Aug-2015 araujo

Update bzero(3) manpage to following the Posix Standard.

Reviewed by: wblock, pfg
Approved by: bapt (mentor)
Differential Revision: D3380


286757 14-Aug-2015 araujo

Make clear the bcopy(3) manpage regards when it was marked as LEGACY
as well as when it was removed from POSIX specification.

Reviewed by: theraven, wblock, bapt, rodrigc
Approved by: bapt, rodrigc (mentor)
Differential Revision: D3374


286715 13-Aug-2015 araujo

Remove the mention of memcpy(3) that is build on top of bcopy(3).
Fix some phrases to make it more clear.

Differential Revision: D3378
Reported by: bde@
Reviewed by: wblock
Approved by: bapt, rodrigc (mentor)
Sponsored by: gandi.net


286651 12-Aug-2015 araujo

Describe that bcopy(3) is deprecated and marked as LEGACY in
POSIX.1-2001 and removed from the specification in POSIX.1-2008.
New softwares shall use memcpy(3) or memmove(3).

Differential Revision: D3358
Reviewed by: wblock
Approved by: rodrigc
Sponsored by: gandi.net


284001 04-Jun-2015 jilles

strchr(3): Mdoc fixes.


283584 26-May-2015 emaste

memmem(3): empty little string matches the beginning of the big string

This function originated in glibc, and this matches their behaviour
(and NetBSD, OpenBSD, and musl).

An empty big string (arg "l") is handled by the existing
l_len < s_len test.

Reviewed by: bapt, ngie
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D2657


281135 06-Apr-2015 pfg

Make strlcpy/strlcat slightly easier to read.

Bring small upstream updates.

Obtained from: OpenBSD


276006 21-Dec-2014 brueffer

Various mdoc fixes and a few EOL whitespace removals.

Found with: mandoc -Tlint


273189 16-Oct-2014 delphij

Remove duplicated code.

Suggested by: jmg


272675 07-Oct-2014 delphij

Add MLINK for explicit_bzero(3) and bump .Dd date.

MFC after: 2 weeks


272673 07-Oct-2014 delphij

Add explicit_bzero(3) and its kernel counterpart.

Obtained from: OpenBSD
MFC after: 2 weeks


267774 23-Jun-2014 bapt

use .Mt to mark up email addresses consistently (part4)

PR: 191174
Submitted by: Franco Fichtner <franco at lastsummer.de>


266865 30-May-2014 pfg

Fix strcasecmp_l() and strncasecmp_l() POSIX 2008 compliance.

POSIX.1-2008 specifies that those two functions should be declared by
including <strings.h>, not <string.h> (the latter only has strcoll_l()
and strxfrm_l()):

http://pubs.opengroup.org/onlinepubs/9699919799/functions/strcasecmp.html

Obtained from: DragonFlyBSD
Reviewed by: theraven
MFC after: 2 weeks


266725 27-May-2014 allanjude

Emphasis on 'do not' and 'complement' in the strcspn(3)
Replace literal parentheses with .Po/.Pc

Approved by: wblock (mentor)


266671 25-May-2014 allanjude

Merge strcspn.3 into strspn.3 and clarify the explaination of what they do
Detach strcspn.3 from the build
Add strcspn.3 to MLINKS do it will be symlinked to strspn.3

Approved by: eadler (mentor), bcr (mentor)


262890 07-Mar-2014 eadler

libc man pages: Remove reference to non-existent FreeBSD Security
Architecture

MFC After: 3 days


262722 04-Mar-2014 marcel

Replace use of ${.CURDIR} by ${LIBC_SRCTOP} and define ${LIBC_SRCTOP}
if not already defined. This allows building libc from outside of
lib/libc using a reach-over makefile.

A typical use-case is to build a standard ILP32 version and a COMPAT32
version in a single iteration by building the COMPAT32 version using a
reach-over makefile.

Obtained from: Juniper Networks, Inc.


257909 10-Nov-2013 eadler

Fix typo: site_t -> size_t

Obtained From: DragonflyBSD (1ac92c8c857a15dc010924c5f066da404e568640)


257720 05-Nov-2013 gjb

Fix .Dd after r257646.
DST affects the day by one hour, but the number of days in the
week stay the same.


257646 04-Nov-2013 eadler

Use OpenBSD's revamped description of strlcpy and strlcat.

This explanation is supposed to be simpler and better. In particular
"comparing it to the snprintf API provides lots of value, since it raises the
bar on understanding, so that programmers/auditors will a better job calling
all 3 of these functions."

Requested by: deraadt@cvs.openbsd.org
Obtained From: OpenBSD
Reviewed by: cperciva


255108 31-Aug-2013 jilles

libc: Always use our own copy of sys_errlist and sys_nerr (.so only).

This ensures strerror() and friends continue to work correctly even if a
(non-PIE) executable linked against an older libc imports sys_errlist (which
causes sys_errlist to refer to the executable's copy with a size fixed when
that executable was linked).

The executable's use of sys_errlist remains broken because it uses the
current value of sys_nerr and may access past the bounds of the array.

Different from the message "Using sys_errlist from executables is not
ABI-stable" on freebsd-arch, this change does not affect the static library.
There seems no reason to prevent overriding the error messages in the static
library.


251069 28-May-2013 emaste

Renumber clauses to reduce diffs to other versions

NetBSD, OpenBSD, and Android's Bionic number the clauses 1 through 3,
so follow suit to make comparison easier.


247899 06-Mar-2013 zeising

Create a symlink from strchrnul.3 to strchr.3.
This was forgotten in the initial commit of strchrnul()

Approved by: theraven


246766 13-Feb-2013 zeising

Add strchrnul(), a GNU function similar to strchr(), except that it returns
a pointer to the end of the string, rather than NULL, if the character was
not found.

Approved by: theraven


241062 30-Sep-2012 eadler

clarify the wording for 'first' and 'last'

Approved by: wblock
MFC after: 3 days


240705 19-Sep-2012 jilles

strsignal(): Reindent.


240704 19-Sep-2012 jilles

strsignal(): Do not append signal numbers to messages for known signals.

Messages for known signals looked like "Terminated: 15" instead of
"Terminated".


238853 27-Jul-2012 emaste

Correct BUGS description of static buffer use

Since r142667 strerror has unconditionally returned a pointer to a
static buffer.

MFC after: 1 week


237409 21-Jun-2012 issyl0

Add the functions documented in the man pages in commit 237393 to the
relevant Makefile.

Reminded by: gavin
Approved by: gabor (mentor)
MFC after: 5 days


237393 21-Jun-2012 issyl0

Add more locale-specific functions to the relevant man pages:
- libc/string/strcoll.3
- libc/string/strstr.3
- libc/string/strxfrm.3
- libc/string/strcasecmp.3

Reviewed by: theraven, gabor
Approved by: gabor (mentor)
MFC after: 5 days


235286 11-May-2012 gjb

General mdoc(7) and typo fixes.

PR: 167734
Submitted by: Nobuyuki Koganemaru (kogane!jp.freebsd.org)
MFC after: 3 days


233648 29-Mar-2012 eadler

Remove trailing whitespace per mdoc lint warning

Disussed with: gavin
No objection from: doc
Approved by: joel
MFC after: 3 days


232973 14-Mar-2012 kib

Fix indentation.

MFC after: 3 days


232503 04-Mar-2012 eadler

POSIX mandates that swab do nothing when len < 0

PR: kern/140690
Submitted by: Jeremy Huddleston <jeremyhu@apple.com>
Approved by: cperciva
MFC after: 2 weeks


231813 16-Feb-2012 eadler

Add err(3) to strerror(3) SEE ALSO section

PR: docs/164940
Submitted by: Niclas Zeising <zeising@daemonic.se>
Approved by: cperciva
MFC after: 3 days


229571 05-Jan-2012 ed

Change index() and rindex() to a weak alias.

This allows people to still write statically linked applications that
call strchr() or strrchr() and have a local variable or function called
index.

Discussed with: bde@


229368 03-Jan-2012 ed

Merge index() and strchr() together.

As I looked through the C library, I noticed the FreeBSD MIPS port has a
hand-written version of index(). This is nice, if it weren't for the
fact that most applications call strchr() instead.

Also, on the other architectures index() and strchr() are identical,
meaning we have two identical pieces of code in the C library and
statically linked applications.

Solve this by naming the actual file strchr.[cS] and let it use
__strong_reference()/STRONG_ALIAS() to provide the index() routine. Do
the same for rindex()/strrchr().

This seems to make the C libraries and static binaries slightly smaller,
but this reduction in size seems negligible.


228202 02-Dec-2011 eadler

Revert r227812 and r227808 per discussion

Reviewed by: many
Approved by: des


227812 22-Nov-2011 eadler

- fix some style(9) nits with my last commit
- add a comment explaining why I used '|' instead of '||'

Submitted by: danfe@
Approved by: emaste@


227808 22-Nov-2011 eadler

- add check for pointer equality prior to performing the O(n) pass
- while here change 's' to 's1' in strcoll

Submitted by: eadler@
Reviewed by: theraven@
Approved by: brooks@
MFC after: 2 weeks


227807 21-Nov-2011 theraven

(Hopefully) Fix the build with clang by removing a typedef that's no longer needed.

Approved by: brooks (mentor)


227753 20-Nov-2011 theraven

Implement xlocale APIs from Darwin, mainly for use by libc++. This adds a
load of _l suffixed versions of various standard library functions that use
the global locale, making them take an explicit locale parameter. Also
adds support for per-thread locales. This work was funded by the FreeBSD
Foundation.

Please test any code you have that uses the C standard locale functions!

Reviewed by: das (gdtoa changes)
Approved by: dim (mentor)


221401 03-May-2011 delphij

Fix prototype for ffsll(3) and fls(3).

PR: docs/156796
Submitted by: Jean-Yves Migeon <jeanyves.migeon free.fr>
MFC after: 3 days


220376 05-Apr-2011 jilles

Allow strerror(0) and strerror_r(0, ...).

Of course, strerror_r() may still fail with ERANGE.

Although the POSIX specification said this could fail with EINVAL and
doing this likely indicates invalid use of errno, most other
implementations permitted it, various POSIX testsuites require it to
work (matching the older sys_errlist array) and apparently some
applications depend on it.

PR: standards/151316
MFC after: 1 week


219803 20-Mar-2011 jilles

index(3): Mention that index/rindex are deprecated and not specified by
POSIX.1-2008.

MFC after: 1 week


211774 24-Aug-2010 imp

Powerpc is special here. powerpc and powerpc64 use different ABIs, so
their implementations aren't in the same files. Introduce LIBC_ARCH
and use that in preference to MACHINE_CPUARCH. Tested by amd64 and
powerpc64 builds (thanks nathanw@)


211725 23-Aug-2010 imp

MFtbemd:

Prefer MACHNE_CPUARCH to MACHINE_ARCH in most contexts where you want
to test of all the CPUs of a given family conform.


208027 13-May-2010 uqs

mdoc: move CAVEATS, BUGS and SECURITY CONSIDERATIONS sections to the
bottom of the manpages and order them consistently.

GNU groff doesn't care about the ordering, and doesn't even mention
CAVEATS and SECURITY CONSIDERATIONS as common sections and where to put
them.

Found by: mdocml lint run
Reviewed by: ru


205108 13-Mar-2010 delphij

Correct bugs fixed but not merged from my own tree.

Pointy hat to: delphij
MFC after: 1 month


205100 12-Mar-2010 delphij

Follow up commit to reindent the code.

MFC after: 1 month


205099 12-Mar-2010 delphij

Two optimizations to MI strlen(3) inspired by David S. Miller's
blog posting [1].

- Use word-sized test for unaligned pointer before working
the hard way.

Memory page boundary is always integral multiple of a word
alignment boundary. Therefore, if we can access memory
referenced by pointer p, then (p & ~word mask) must be also
accessible.

- Better utilization of multi-issue processor's ability of
concurrency.

The previous implementation utilized a formular that must be
executed sequentially. However, the ~, & and - operations can
actually be caculated at the same time when the operand were
different and unrelated.

The original Hacker's Delight formular also offered consistent
performance regardless whether the input would contain
characters with their highest-bit set, as it catches real
nul characters only.

These two optimizations has shown further improvements over the
previous implementation on microbenchmarks on i386 and amd64 CPU
including Pentium 4, Core Duo 2 and i7.

[1] http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2010/03/08#strlen_1

MFC after: 1 month


203485 04-Feb-2010 ru

Mark up "unsigned char".


203391 02-Feb-2010 ed

Implement strndup(3) using strnlen(3).

This makes the implementation a bit more consistent with strdup(3),
which uses strlen(3).


202916 24-Jan-2010 ume

Make strsignal(3) thread-safe.

MFC after: 2 weeks


200095 04-Dec-2009 trhodes

Add a missing word to a sentence in the return values section.


199988 01-Dec-2009 brueffer

Add an .Nm for strncat.

PR: 141037
Submitted by: Jeremy Huddleston <jeremyhu@apple.com>
MFC after: 3 days


199096 09-Nov-2009 jhb

Purge some duplicate mergeinfo.


191414 23-Apr-2009 brueffer

Correct the information about when the respective functionality first
appeared in FreeBSD.

PR: 133785
Submitted by: Ulrich Spoerlein <uqs@spoerlein.net>
MFC after: 3 days


191055 14-Apr-2009 trasz

There is no way for strmode(3) to append '+' if the file has ACL,
because there is no way to figure that out based on the file mode
itself. Make the manual page match reality.


190798 07-Apr-2009 trasz

Add wide character variants of string manipulations routines to 'SEE ALSO'.

Approved by: rwatson (mentor)


190266 22-Mar-2009 kib

7.2 will be the first release where strndup() appears.

Submitted by: Florian Smeets <flo kasimir com>
MFC after: 3 days


189361 04-Mar-2009 das

Add wcpcpy(3) and wcpncpy(3).


189137 28-Feb-2009 das

Add restrict qualifiers.
I missed this file in my previous commit.


189136 28-Feb-2009 das

- Add getdelim(), getline(), stpncpy(), strnlen(), wcsnlen(),
wcscasecmp(), and wcsncasecmp().
- Make some previously non-standard extensions visible
if POSIX_VISIBLE >= 200809.
- Use restrict qualifiers in stpcpy().
- Declare off_t and size_t in stdio.h.
- Bump __FreeBSD_version in case the new symbols (particularly
getline()) cause issues with ports.

Reviewed by: standards@


189133 28-Feb-2009 das

Add restrict qualifiers to the parameters to strlcpy() and strlcat().
The annotation mainly just serves as a hint that they're not intended
for use with overlapping strings.


188295 07-Feb-2009 imp

Make sure the comparison is done with an unsigned char.


188098 03-Feb-2009 imp

Fix the functions to match prototypes. The K&R definitions differ
from the ANSI-C prototype due to the 'int promotion' rule.


188080 03-Feb-2009 danger

- ANSIfy function definitions
- use nul when we are looking for a terminating character where appropriate

Approved by: imp


187707 26-Jan-2009 delphij

- Fix grammar. [1]
- Use the correct term 'long mode'. [2]
- style(9) for return value. [3]

Submitted by: Ben Kaduk <minimarmot gmail com> [1],
obrien [2], scf [3]


187700 25-Jan-2009 delphij

Rewrite of MI strlen(3) in a way that can better utilize modern hardware by
reducing branches and doing word-sized operation.

The idea is taken from J.T. Conklin's x86_64 optimized version of strlen(3)
for NetBSD, and reimplemented in C by me.

Discussed on: -arch@


187147 13-Jan-2009 kib

Document that ffsll(3) and flsll(3) functions first appeared in
FreeBSD 7.1

Submitted by: Jan Henrik Sylvester <me janh de>
MFC after: 3 days


187091 12-Jan-2009 delphij

o Language improvements from OpenBSD;
o Use an ISC-style license as did by the author.

Obtained from: OpenBSD


187090 12-Jan-2009 delphij

o ANSIfy.
o Use ISC style copyright as did by the author.

Obtained from: OpenBSD


186957 09-Jan-2009 ru

Sort MLINKS.


185789 09-Dec-2008 maxim

o Use full month name in .Dd macro.


185690 06-Dec-2008 kib

Import the strndup(3) function.
Copyright attribution is kept the same as in original NetBSD source.

Submitted by: Florian Smeets <flo kasimir com>
Obtained from: NetBSD
MFC after: 2 weeks


185689 06-Dec-2008 kib

Order the str*.c files mostly alphabetical.

Submitted by: Florian Smeets <flo kasimir com>
MFC after: 2 weeks


185641 05-Dec-2008 pjd

Add an easier example.

Reviewed by: trasz


184587 03-Nov-2008 kib

Add the ffsll and flsll functions. These are ffs and fls operating
on long long arguments.

Reviewed by: bde (previous version, that included asm implementation
for all ffs and fls functions on i386 and amd64)
MFC after: 2 weeks


184586 03-Nov-2008 kib

Fix style.


184059 19-Oct-2008 delphij

- License change to a less restrictive one;
- ANSIfy;
- Convert do {} while loop -> while {} for clarity;
- Sync RCS ID with OpenBSD;

Obtained from: OpenBSD


184055 19-Oct-2008 delphij

Further simplify the code.

Submitted by: Christoph Mallon <christoph.mallon gmx.de>


183990 17-Oct-2008 delphij

Use strlcpy() in !localized case to avoid the -1's.


178051 10-Apr-2008 delphij

Add memrchr(3).

Obtained from: OpenBSD


174553 12-Dec-2007 wes

Remove license clause 3 to agree with the now-standard BSD license.

Prompted by: Glenn Halperin, Symbian Software


169092 29-Apr-2007 deischen

Use C comments since we now preprocess these files with CPP.


165903 09-Jan-2007 imp

Per Regents of the University of Calfornia letter, remove advertising
clause.

# If I've done so improperly on a file, please let me know.


163274 12-Oct-2006 ru

Don't say "rightmost" when referring to the least significant bit.

PR: docs/94803
MFC after: 3 days


161274 14-Aug-2006 dd

Improve the wording. Remove the appositive about strcmp, putting the
first sentence back to the way it was. Add a second sentence that
explains the case when strcmp is called.


159644 15-Jun-2006 maxim

o Make grep ^strlcpy work: put a return value type on separate line.


156613 13-Mar-2006 deischen

Add each directory's symbol map file to SYM_MAPS.


156608 13-Mar-2006 deischen

Add symbol maps and initial symbol version definitions to libc.

Reviewed by: davidxu


152746 24-Nov-2005 ru

Fix prototype.


152571 18-Nov-2005 ru

Fix up markup.


149792 05-Sep-2005 tjr

Remove references to nonexistent "FreeBSD Security Architecture" document.


149603 29-Aug-2005 garys

Added a sentence to explain what "span" means.

PR: docs/84850
Submitted by: garys
MFC after: 3 days
Approved by: keramida


149466 25-Aug-2005 andre

Add the function memmem(3) as found in glibc and others.
It is the binary equivalent to strstr(3).

void *memmem(const void *big, size_t big_len,
const void *little, size_t little_len);

Submitted by: Pascal Gloor <pascal.gloor at spale.com>
MFC after: 3 days


149011 13-Aug-2005 tjr

Add an implementation of the semi-standard wcsdup() function, as found
on Microsoft and GNU systems.


144545 02-Apr-2005 das

Replace the current strspn() and strcspn() with significantly faster
implementations inspired by the ones in DragonFly. Unlike the
DragonFly versions, these have a small data cache footprint, and my
tests show that they're never slower than the old code except when the
charset or the span is 0 or 1 characters. This implementation is
generally faster than DragonFly until either the charset or the span
gets in the ballpark of 32 to 64 characters.


143166 06-Mar-2005 mux

Unbreak strsignal(). This is an MFC candidate.

Reported by: Sean McNeil <sean@mcneil.com>


142693 27-Feb-2005 phantom

Unbreak !NLS case


142667 27-Feb-2005 phantom

Add NLS catalogs support to strerror(), strerror_r() and strsignal().
Controlled by NLS define, currently disabled by default.

Idea obtained from: NetBSD


141701 11-Feb-2005 pjd

Don't read more than the given 'len' bytes from the 'big' string.

PR: misc/77369
Submitted by: Ed Maste <emaste@phaedrus.sandvine.ca>
MFC after: 1 week


140505 20-Jan-2005 ru

Sort sections.


138660 10-Dec-2004 trhodes

Date business, update.


138659 10-Dec-2004 trhodes

According to the information on:
http://www.opengroup.org/onlinepubs/009695399/functions/swab.html
the prototype for swab() should be in <unistd.h> and not in <string.h>.
Move it, and update to match SUS. Leave the prototype in string.h for
now, for backwards compat.

PR: 74751
Submitted by: Craig Rodrigues <rodrigc@crodrigues.org>
Discussed with: das


136582 16-Oct-2004 obrien

Enable building with LIBC_SCCS defined.

Bug submitted by: Andrea Campi <andrea+freebsd_current@webcom.it>


136519 14-Oct-2004 stefanf

Remove extra closing parenthesis added in revision 1.4.

Noticed by: Andrea Campi


136432 12-Oct-2004 keramida

Correctly document the return value of strerror() and strerror_r() and
the contents of the returned buffer for unknown error codes.

PR: docs/72578
Submitted by: Jilles Tjoelker <jilles@stack.nl>
MFC after: 3 days


131504 02-Jul-2004 ru

Mechanically kill hard sentence breaks.


131365 30-Jun-2004 ru

Markup, grammar, and spelling fixes.


127998 07-Apr-2004 tjr

Prepare to handle state-dependent encodings. This mainly involves not
taking shortcuts when it comes to storing and passing around conversion
states.


124514 14-Jan-2004 des

Translate from GNU C to ISO C.


124483 13-Jan-2004 des

Add and document ffsl(), fls() and flsl().


123631 18-Dec-2003 jkh

Brucification: Don't initialize in declaration, make sure extra lines
follow declaration section.


123584 17-Dec-2003 jkh

Do comparison using appropriate casting first, as per SUSv3 (search for first
[last] character, not int).


122104 05-Nov-2003 tjr

Pass NULL instead of a pointer to a zeroed mbstate_t object.


121531 26-Oct-2003 peter

Pacify gcc about casting pointers to integers (for the lowest few bits).


119893 08-Sep-2003 ru

mdoc(7): Use the new feature of the .In macro.


119748 04-Sep-2003 simon

Move a sentence about the terminating \0 from the RETURN VALUES section
(where it didn't really belong), to the DESCRIPTION section.

English advice: ceri
Requested by: das
MFC after: 4 weeks


118134 28-Jul-2003 simon

* Merge index(3) and rindex(3) to index(3) since the two functions are
almost identical.
* Merge strchr(3) and strrchr(3) to strchr(3) since the two functions
are almost identical.
* Make the wording of index(3) and strchr(3) more similar.
* mdoc(7) cleanup.

Submitted by: SUZUKI Koichi <metal@gc5.so-net.ne.jp>, keramida, myself
PR: docs/32054
Reviewed by: ru
Approved by: ceri (mentor)


117123 01-Jul-2003 maxim

o strmode(3) returns void not 0.

PR: docs/53488
Submitted by: Andrey Simonenko <simon@comsys.ntu-kpi.kiev.ua>
MFC after: 1 week


114443 01-May-2003 nectar

Back out the `hiding' of strlcpy and strlcat. Several people
vocally objected to this safety belt.


114256 29-Apr-2003 nectar

`Hide' strlcpy and strlcat (using the namespace.h / __weak_reference
technique) so that we don't wind up calling into an application's
version if the application defines them.

Inspired by: qpopper's interfering and buggy version of strlcpy


112131 12-Mar-2003 tjr

MFp4: Make `spanp' const.


108603 03-Jan-2003 mike

Optimize errstr() by reducing the number of times it walks a string.
As a side effect, it makes the code easier to read and requires less
pointer arithmetic.

Test by: strerror regression test
Submitted by: Tim Kientzle <kientzle@acm.org>


108118 20-Dec-2002 mike

Stylistic changes:
o Fix an English error (comma splice) and poorly worded sentence.
o Fix KNF ordering of variables (pointers come before arithmetic types).
o Restore hand-optimization of sizeof()-1, instead of strlen().
o Remove unneeded local variables in strerror_r().

Test by: strerror regression test
Requested by: bde
Reviewed by: bde


108091 19-Dec-2002 tjr

Add back the Standards section claiming conformance to 1003.1-2001 and
C99 now that all known standards-related bugs have been fixed.


108087 19-Dec-2002 ru

mdoc(7) police: "The .Fa argument.".


108044 18-Dec-2002 mike

Rearrange strerror() so that its itoa procedure can be used with
strerror_r(). Doing this allows us to ensure that strerror_r() always
fills the supplied buffer regardless of EINVAL or ERANGE errors.

strerror()'s semantics have changed slightly such that an argument of
0 is now considered invalid and errno is set to EINVAL.

Remove internal regression test for strerror() and strerror_r(). This
will be reincarnated in src/tools/regression/lib/libc/string.

In strerror(3), add a comment about strerror()'s bogus return type.

PR: 44356


108040 18-Dec-2002 ru

mdoc(7) police: Fixed abuses of the .Ar and .Em macros.


108037 18-Dec-2002 ru

mdoc(7) police: "The .Fn function".


107706 09-Dec-2002 ru

mdoc(7) police: tiny nits.

Approved by: re


107387 29-Nov-2002 ru

mdoc(7) police: formatting nits.

Approved by: re


107052 18-Nov-2002 ru

libc_r wasn't so tied to libc for 22 months.


105844 24-Oct-2002 tjr

Replace wcsstr() with an implementation based on strstr(), which is far
more efficient. The problem with the previous implementation was that it
calculated the length of the first argument ("big") with wcslen() when
it was not necessary.


105842 24-Oct-2002 tjr

Restore Berkeley SCCS id.


105838 24-Oct-2002 tjr

Remove the Standards section again until we get these functions sorted
out. This will probably have to wait until after 5.0-R.


105787 23-Oct-2002 tjr

Fix the NetBSD RCS id's on these files; somehow they were initially
committed with the tags unexpanded.


105786 23-Oct-2002 tjr

Reimplement more efficiently, using a single forward scan (like strrchr(3))
instead of scanning forwards to find the end of the string then scanning
backwards to find the character.


105785 23-Oct-2002 tjr

Reimplement, handling the case where c == L'\0' correctly and fixing
some style(9) bugs.


105779 23-Oct-2002 tjr

Add a Standards section, claiming conformance to IEEE Std. 1003.1-2001.
Also add a note to the Bugs section pointing out that strerror() and
perror() share the same static buffer.


105772 23-Oct-2002 des

Translate to English.


105761 23-Oct-2002 tjr

Replace this wcsncpy() implementation with one based on strncpy.c to fix
two major bugs:
- off-by-one overflow when the length of the source string exceeds or
equals the destination buffer size.
- old version was not padding the destination buffer with null wide chars


105447 19-Oct-2002 tjr

C89 does not specifiy strsep(), so our strsep() implementation cannot
conform to it.

Obtained from: OpenBSD


105150 15-Oct-2002 tjr

Add cross-references to the wide character counterparts of these functions.


105148 15-Oct-2002 tjr

Remove stray comma at the end of the See Also list.


104780 10-Oct-2002 robert

Fix another spelling mistake.


104779 10-Oct-2002 robert

Correct a spelling mistake.


104443 04-Oct-2002 tjr

Add a placeholder implementation of wcscoll() and wcsxfrm() which gives
locale-sensitive collation only in single-byte locales, and just does
binary comparison for the others with extended character sets.


104419 03-Oct-2002 obrien

Add stpcpy(3).


104372 02-Oct-2002 tjr

Add an example showing how to use wcstok(). Fix ordering of See Also section.


103999 26-Sep-2002 tjr

Simplify by removing unneeded local variables and explicit null termination.


103998 26-Sep-2002 tjr

Simplify by removing useless local variables and explicit null termination.


103724 21-Sep-2002 tjr

Remove unnecessary #include <assert.h>; it was used to bring in the
_DIAGASSERT macro on NetBSD, but we don't need it.


103095 08-Sep-2002 tjr

Replace a stray reference to strtok() with one to wcstok().


103067 07-Sep-2002 tjr

Add an implementation of wcstok(), based on strtok_r().


103060 07-Sep-2002 tjr

Sync prototypes with <wchar.h> with respect to the restrict qualifier.


103059 07-Sep-2002 tjr

Add restrict qualifiers where C99 permits them. All of these already had
restrict qualifiers on their prototypes in <wchar.h>.


103057 07-Sep-2002 tjr

Call strtok_r() via a libc private name from within strtok().


103012 06-Sep-2002 tjr

Style: One space between "restrict" qualifier and "*".


102809 01-Sep-2002 robert

- Let their manual pages show the reader that the bzero(3) and
bcopy(3) functions are prototyped in <strings.h> and not in
<string.h> anymore.
- Add a sentence about that to the respective HISTORY sections.
In the C source files:
- Include <string.h> or <strings.h> depending on what function
is to be compiled.
- Use ANSI-C function definitions.


102643 30-Aug-2002 robert

Add the 'restrict' type qualifier to the function prototype
of the swab(3) function in its manual page to match the
standardization by POSIX.1-2001.


102642 30-Aug-2002 robert

- Update the manual page of bcmp(3) by replacing
.In string.h
with
.In strings.h
and adding a sentence to the HISTORY section.
- Use an ANSI-C function definition.
- Include <strings.h> instead of <string.h>.
- Apply style(9): Put a space after return keywords.


102639 30-Aug-2002 robert

- Convert the function definition to declare its arguments
in the ANSI-C format.
- Change the code a bit to hopefully save some cycles.
I.e. (simplified) change

a = b + 1;
while (--b & 0x7)
/* ... */
to
a = b;
for (; b & 0x7; b--)
/* ... */
and
while (--a >= 0)
/* ... */
to
for (; a > 0; a--)
/* ... */
- Equip two function arguments of swab() with the 'restrict'
type qualifier in form of the '__restrict' macro. This is
specified by POSIX.1-2001.


102637 30-Aug-2002 robert

- Update the manual pages of index() and rindex() to show
<strings.h> as the associated header file.
The prototypes have been moved there from <string.h> because
POSIX.1-2001 said so.
- Conditionally include either <strings.h> or <string.h> based
on whether the [r]index() or str[r]chr() functions are
compiled, respectively.
- Style(9) tells us to
- put a space after the return keyword
- to check for a NUL character without using the ! operator.
- use NULL instead of (type *)NULL where the compiler knows
the type.
Apply these rules.
- Rather use ANSI-C function definitions than K&R ones.
- For index(3), correct second function argument's type; it was
declared to be a `const char' before and is now an `int'.


102635 30-Aug-2002 robert

- Update the manual page to show that the associated header file
is <strings.h> and not <string.h> anymore.
- Tell the reader about this change in the HISTORY section.
- Switch to use an ANSI-C function definition.
- Include <strings.h> instead of <string.h> in the source file.


102624 30-Aug-2002 robert

- Update strcasecmp(3)/strncasecmp(3) to reflect the fact that
the prototypes for both functions are now in the <strings.h>
header, as required by IEEE Std 1003.1-2001.
- Add one sentence about that in the HISTORY section.
- Include <strings.h> in the source file to have the prototypes
in scope when the _ANSI_SOURCE macro is defined.


102166 20-Aug-2002 tjr

Add a manual page for wcswidth().


102159 20-Aug-2002 ache

Move just committed version of wcswidth.c here (from "locale"),
a bit optimized now.


101887 14-Aug-2002 robert

- Add the 'restrict' qualifier to the definitions of the string
concatenation and copy functions using the '__restrict' macro.
This is to satisfy IEEE Std 1003-1.2001.
- Use ANSI-C function definitions.
- Add the 'restrict' keyword to the manual pages, too.


101881 14-Aug-2002 robert

- Add the 'restrict' qualifier required by IEEE Std 1003.1-2001
to the function definition of strxfrm(3) in form of our
'__restrict' macro.
- Use an ANSI-C function definition for strxfrm(3).
- Change the manual page accordingly.


101485 07-Aug-2002 archie

Correct an inaccuracy in this man page regarding detecting empty fields.

MFC after: 2 days


99331 03-Jul-2002 mini

Fix off-by-one error.

PR: misc/40104
Submitted by: Neal Fachan <neal@isilon.com>
MFC after: 3 days


92986 22-Mar-2002 obrien

Fix the style of the SCM ID's.
I believe have made all of libc .c's as consistent as possible.


92889 21-Mar-2002 obrien

Remove 'register' keyword.


90021 31-Jan-2002 jedgar

Revert last commit. stdio.h include is for perror(), not strerror()


90017 31-Jan-2002 jedgar

strerror(3) is in string.h, not stdio.h

MFC after: 1 week


89400 15-Jan-2002 mike

Add a few cleanups from rev 1.1:
o Restore vendor ID.
o Order variable types by size.
o Remove a gratuitous temporary variable.

Submitted by: bde


89387 15-Jan-2002 mike

o Add prototype for printf(3).

style(9):
o Order variables in declarations.
o Move initialization out of declaration.
o Fix over-indents in previous delta.


89385 15-Jan-2002 mike

style(9)

Submitted by: Joseph Mallett <jmallett@xmach.org>
Reviewed by: md5(1)


89138 09-Jan-2002 ru

mdoc(7) police:

Stop abusing the .%J macro for where the .Pa macro should have been used.


88983 07-Jan-2002 dd

Suggest using memmove(3) if src and dst may overlap.

PR: 33298
Submitted by: Tim J. Robbins <tim@robbins.dropbear.id.au>


88940 05-Jan-2002 chris

Add a new `SECURITY CONSIDERATIONS' section. Sample code similar to
the first revision of strcpy(3)'s section is included, but should be
removed as the Security Architecture document is committed and
completed.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs


88939 05-Jan-2002 chris

Include a section cross-reference to `EXAMPLES' in `SECURITY
CONSIDERATIONS' as a source for relevant sample code.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs


88938 05-Jan-2002 chris

Remove the example from SECURITY CONSIDERATIONS. This is mostly
duplicated code from EXAMPLES.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs


88830 02-Jan-2002 chris

Copy the sample `SECURITY CONSIDERATIONS' section from sec-doc.7.
This will be trimmed as the FreeBSD Security Architecture document
is fleshed out and committed.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs


87739 12-Dec-2001 ru

mdoc(7) police: minor markup nits.


87480 07-Dec-2001 wes

Make strerror and strerror_r use sys_errlist[0] for errnum = 0. Be
more careful about reporting truncation with ERANGE in strerror_r.
Set errno to EINVAL for "unknown" errnum in strerror as required
by P1003.1-200x Draft June 14, 2001.

More carefully document the handling of strerrbuf when errors
(ERANGE, EINVAL) are encountered in strerror_r.

Reviewed by: bde (ongoing discussion)


87434 06-Dec-2001 wes

New, improved, more Posix-compliant strerror_r implementation,
complete with documentation.

Reviewed by: mike@ gad@
MFC after: 1 week


86945 27-Nov-2001 wes

Must link strerror manpage to strerror_r.

Thanks for the review, Mike.

Submitted by: Mike Barcroft <mike@FreeBSD.org>


86944 27-Nov-2001 wes

Add strerror_r function per Posix prototype.

Reviewed by: Mike Barcroft <mike@FreeBSD.org>
MFC after: 2 weeks


86658 20-Nov-2001 ru

mdoc(7) police: minor markup and spelling fixes.


86241 10-Nov-2001 des

Increment the loop counter.

PR: bin/29218
Submitted by: Goran Lowkrantz <goran.lowkrantz@ismobile.com>


86170 07-Nov-2001 obrien

rcsid[]->__FBSDID


84810 11-Oct-2001 mike

Note that strncmp() will not compare characters after a NUL character.
Add a missing word. Bump document date.

Inspired by: IEEE Std 1003.1-200x (Draft 7)
MFC after: 3 days


84808 11-Oct-2001 mike

Clarify that strnstr() will stop searching after in encounters a NUL
character. Bump document date. Add a missing comma.


84740 10-Oct-2001 ache

Implement strcasestr() which many others (f.e. Linux) already have.


84728 09-Oct-2001 mike

Document the fact that the strnstr(3) function is not portable.

Requested by: brian, gad


84699 09-Oct-2001 mike

Add a new libc function, strnstr(3), which allows one to limit the
number of characters that are searched. This is especially useful
with file operations and non-NUL terminated strings.

Silence from: -audit, -hackers
MFC after: 5 days


84398 03-Oct-2001 bde

Fixed syntax errors in synopsis. The restrict keyword doesn't exist yet.
The corresponding bugs in <wchar.h> have no effect because the function
prototypes there don't have args so the __restrict "keyword" is
misinterpreted as an arg.


84306 01-Oct-2001 ru

mdoc(7) police: Use the new .In macro for #include statements.


83847 23-Sep-2001 mike

Note that strdup(3) will set errno if memory allocation fails. This
is also required by the forthcoming POSIX.1-200x standard.

Obtained from: malloc.3


81361 09-Aug-2001 mike

o Various mdoc fixes.
o Replace strncpy examples with less confusing ones from
OpenBSD. These examples give more detail and also suggest
using strlcpy(3).

Reviewed by: des, ru, sheldonh
Obtained from: OpenBSD
MFC after: 3 days


81285 08-Aug-2001 ru

mdoc(7) police: expand plain text xrefs.


80743 31-Jul-2001 mp

Only pull in the MD files if they exist. This allows for progressive
implementation and compilation when bringing up a new architecture.


80274 24-Jul-2001 kris

Sync to OpenBSD (update comment and minor style change).

Obtained from: OpenBSD
MFC after: 1 week


80273 24-Jul-2001 kris

Sync to OpenBSD:

Clarify that if strlcat() does not find a NUL within siz byte it
will not NUL terminate either.

Document boundary condition when size < strlen(dst).

"of", not "on" (from Henric Jungheim)

Obtained from: OpenBSD
MFC After: 1 week


79952 19-Jul-2001 dd

Don't claim that strncpy() is the same as strcpy().

PR: 29002
Submitted by: Joseph Mallett <jmallett@xMach.org>


79787 16-Jul-2001 ru

mdoc(7) police: Add strncpy() to the NAME section.


79754 15-Jul-2001 dd

Remove whitespace at EOL.


79554 10-Jul-2001 obrien

style nits


79531 10-Jul-2001 ru

mdoc(7) police: removed HISTORY info from the .Os call.


77117 24-May-2001 obrien

Make the rcsid and FreeBSD IDs more sane in the wcs* and wmem* files.
Do the same for the non-wcs*/wmem* files while I'm here.


76729 17-May-2001 ru

... but we do provide .St -isoC-99, and it is not required to have the
history info as:

: .Sh STANDARDS If the command, library function or file adheres to a
: specific implementation such as IEEE Std 1003.2
: (``POSIX.2'') or ANSI X3.159-1989 (``ANSI C'') this
: should be noted here. If the command does not adhere
: to any standard, its history should be noted in the
: HISTORY section.


76683 16-May-2001 ru

Unbreak world; _DIAGASSERT macro is not available in FreeBSD.


76637 15-May-2001 tshiozak

adapt to FreeBSD.
- enable locale-insensitive functions of wchar.h:
wcscat.c wcschr.c wcscmp.c wcscpy.c wcscspn.c wcslcat.c wcslcpy.c
wcslen.c wcsncat.c wcsncmp.c wcsncpy.c wcspbrk.c wcsrchr.c wcsspn.c
wcsstr.c wmemchr.c wmemcmp.c wmemcpy.c wmemmove.c wmemset.c
XXX: wcswidth.c is not enabled yet.
- enable wmemchr(3) man page.
XXX: FreeBSD lacks .St -isoC99 and .St -isoC-amd1.


76612 15-May-2001 tshiozak

initial import of locale insensitive wcs* and wmem* functions.

Obtained from: NetBSD and Citrus.


76583 14-May-2001 ru

mdoc(7) police: add RETURN VALUES section.

PR: docs/27161
Submitted by: Kazuhiro KONDOU <k-fuji@za2.so-net.ne.jp>


74870 27-Mar-2001 ru

MAN[1-9] -> MAN.


73088 26-Feb-2001 ru

.St -ansiC -> .St -isoC


71895 01-Feb-2001 ru

mdoc(7) police: split punctuation characters + misc fixes.


71192 17-Jan-2001 jedgar

Clarify comments referring to strlcat() usage

Obtained from: OpenBSD


71191 17-Jan-2001 jedgar

- Reverse the order of two loop invariant to ensure strlcat() does not
attempt to read memory when siz is 0
- Clarify comments referring to strlcat() usage

PR: 24278, 24295
Submitted by: Tony Finch <dot@dotat.at>
Richard Kettlewell <rjk@greenend.org.uk>
Reviewed by: -audit


70974 12-Jan-2001 ru

mdoc(7) police: Ft/Vt now accept punctuation-type arguments.


70481 29-Dec-2000 ru

Prepare for mdoc(7)NG.


70015 14-Dec-2000 ru

mdoc(7) police: removed history info from the .Os FreeBSD call.


68896 19-Nov-2000 kris

MAXPATHNAMELEN -> MAXPATHLEN

Submitted by: ianm@kashmir.cit.nepean.uws.edu.au via OpenBSD
Obtained from: OpenBSD


68854 17-Nov-2000 ru

mdoc(7) police: use certified section headers wherever possible.


68575 10-Nov-2000 ru

Avoid use of direct troff requests in mdoc(7) manual pages.


65405 03-Sep-2000 ache

Add:
The implementation will behave as if no library function calls strtok().


63397 18-Jul-2000 alex

Drop the references to index(3) and rindex(3), which are non-standard
and people shouldn't be encouraged to use them.

Asked by: sheldonh


63320 17-Jul-2000 alex

Add SEE ALSO section, as with the other string functions.

Submitted by: dcs


59460 21-Apr-2000 phantom

Introduce ".Lb" macro to libc manpages.

More libraries manpages updates following.


57686 02-Mar-2000 sheldonh

Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.


55354 03-Jan-2000 billf

Grammar: "be even number" -> "be an even number"


55287 31-Dec-1999 hoek

Backout the prev. commit. It's a bad idea to make-up terms. I believe
there is no good solution here.

Set-on-the-straight-and-narrow by: bde


55185 28-Dec-1999 hoek

Add ".Xref tolower 3" since its internal use is inferred in DESCRIPTION.


55184 28-Dec-1999 hoek

Avoid the potentially confusing term "a null pointer" and say "the NULL
pointer" instead. The potential confusion arises because the string/*.3
pages use the term "null-terminated string" (which is permissable). Moreover,
this also makes these two manpages more consistent with the other string/*.3
manpages.


54598 14-Dec-1999 billf

Remove x-ref to itself.

Reviewed by: mpp


52629 29-Oct-1999 obrien

Add HISTORY.


51743 28-Sep-1999 imp

Xref strlcat, strlcpy

Inspired by: NetBSD commit message describing this.


51216 12-Sep-1999 dt

__collate_substitute() do something non-trivial only for German. For everyone
else, it is equivalent to strdup(). So, we will check if the substitution
tables are trivial at the load time, and possibly save 2 calls to
__collate_substitute() in strcoll().

Still, __collate_substitute() should not exist.


50532 28-Aug-1999 mpp

Add $FreeBSD$ lines to man pages that are missing them to make
it easier for translation teams.

PR: docs/13418
Submitted by: Alexey Zelkin <phantom@cris.net>


50476 28-Aug-1999 peter

$Id$ -> $FreeBSD$


49828 15-Aug-1999 mpp

Various man page cleanup:

- Sort xrefs
- FreeBSD.ORG -> FreeBSD.org
- Be consistent with section names as outlines in mdoc(7)
- Other misc mdoc cleanup.

PR: doc/13144
Submitted by: Alexy M. Zelkin <phantom@cris.net>


49594 10-Aug-1999 imp

Use the latest version of these files from OpenBSD.

1) Safty change from casper dik was added to OpenBSD's sources since I
grabbed them. milltert@openbsd.org
2) Split up strlcpy to improve efficiency of the common case.
milltert@openbsd.org
3) Cleanup of cross references for man page. {alex,aaron}@openbsd.org

Pointed out by: deraadt@openbsd.org


49593 10-Aug-1999 imp

Import strl{cat,cpy} from OpenBSD.

Obtained from: OpenBSD


48794 12-Jul-1999 nik

Add $Id$, to make it simpler for members of the translation teams to
track.

The $Id$ line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

.\" $Id$
.\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by: bde


48740 10-Jul-1999 wes

Fixed a minor style nit in the EXAMPLE section.


47881 11-Jun-1999 mpp

Fix a minor style nit in the NAME section.


47879 11-Jun-1999 mpp

Move the description of the strncmp() function from the RETURN VALUES
section to the DESCRIPTION section.

PR: 12133
Submitted by: Sheldon Hearn <sheldonh@uunet.co.za>


47320 19-May-1999 bde

Fixed disordering and duplication of MLINKS in previous commit to
libc/string/Makefile.inc. psignal.3 doesn't live in libc/string.


47289 18-May-1999 peter

Add a strsignal(3) (like strerror(3)) for libc compatability with other
systems. NetBSD, Linux, SVR4 etc all have it.


46079 25-Apr-1999 imp

More egcs warning fixes:
o use braces to avoid potentially ambiguous else
o don't default to type int (and also remove a useless register
modifier).
o Use parens around assignment values used as truth values.
o Remove unused function.

Reviewed by: obrien and chuckr


44306 27-Feb-1999 ghelmer

Corrected use of backslash escaping in sample code.

PR: docs/10284
Submitted by: Alfred Perlstein <bright@cygnus.rush.net>


43961 13-Feb-1999 ache

remove BUGS section, now behaviour is predictable enough


43947 13-Feb-1999 ache

more words about return value


43946 12-Feb-1999 ache

re-phrase things a bit


43945 12-Feb-1999 ache

fix wrong return result
fix n=0 case
improve manpage


42870 19-Jan-1999 jdp

Install man page link for strtok_r.


42869 19-Jan-1999 jdp

Spell check and minor grammar fix.


41762 14-Dec-1998 wes

Reviewed by: JKH
Submitted by: Wes Peters

Added strtok_r (reentrant) function and man page.


40735 29-Oct-1998 rnordier

(Whoops: make it better instead of worse this time). Clarify
processing of the string argument by perror().


40734 29-Oct-1998 rnordier

Clarify processing of the string argument by perror().


36665 05-Jun-1998 ache

Fix handling more than 1 char with non-C locale
Misc. cleanup
PR: 6825
Submitted by: Sergey Gershtein <sg@mplik.ru>


35923 10-May-1998 jb

Cast a pointer to a long, not an int before masking it.


35655 03-May-1998 jraynard

Pedantry (NULL -> NUL).


33668 20-Feb-1998 jb

Change MACHINE references to MACHINE_ARCH.


32818 27-Jan-1998 danny

PR: 5573
Submitted by: garbanzo@hooked.net
Add strncasecmp, strncmp to NAME field.


32051 28-Dec-1997 wosch

The terminating character in strings is `NUL', not `NULL'.


30624 21-Oct-1997 bde

Sorted lists.


30481 16-Oct-1997 bde

Handle machine-dependent (m-d) (string) sources more automatically.
The names of m-d variants are now added (manually) to MDSRCS instead
of to SRCS, and the names of all machine-independent (m-i) variants
that can reasonably be replaced by an m-d variant are now added
(manually) to MISRCS instead of to SRCS, so that a simple substitution
can be used to discard the unused m-i variants. MISRCS is potentially
all m-i sources, but the substitution is too simple to be fast, so
MISRCS should be kept reasonably small.

libc/Makefile.inc:
Do the substitution.

libc/i386/string/Makefile.inc:
Add to MDSRCS instead of to SRCS. Add the names of all sources in this
directory, but no others.

libc/string/Makefile.inc
Add to MISRCS instead of to SRCS. Add the names of all sources in this
directory. Don't use (broken) explicit rules for special cases.


30447 15-Oct-1997 bde

Removed the subdirectory paths from the definitions of MAN[1-9]. They
were a workaround for limitations in bsd.man.mk that were fixed about
2 years ago.


30444 15-Oct-1997 bde

Added some 2-line source files to get a direct correspondence
between sources and objects. This will be used to avoid messy
special cases in Makefile.inc.


27689 26-Jul-1997 pds

Added bounds checking to the example after chasing down someone's
broken code where they'd copied the example basically verbatim and
blew an array. (engage brain before typing 'make')


27369 13-Jul-1997 peter

kill the undead


27181 03-Jul-1997 bde

This commit was generated by cvs2svn to compensate for changes in r27180,
which included commits to RCS files with non-trunk default branches.


25401 03-May-1997 jb

Changed all paths to be relative to src/lib instead of src/lib/libc
so that all these makefiles can be used to build libc_r too.

Added .if ${LIB} == "c" tests to restrict man page builds to libc
to avoid needlessly building them with libc_r too.

Split libc Makefile into Makefile and Makefile.inc to allow the
libc_r Makefile to include Makefile.inc too.


25028 19-Apr-1997 bde

Fixed #include and/or prototype bugs in synopsis.


23664 11-Mar-1997 peter

Merge from Lite2 (whiteout/unionfs)


23659 11-Mar-1997 peter

This commit was generated by cvs2svn to compensate for changes in r23658,
which included commits to RCS files with non-trunk default branches.


22993 22-Feb-1997 peter

Revert $FreeBSD$ to $Id$


21907 20-Jan-1997 wosch

Sort cross references.


21673 14-Jan-1997 jkh

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


18718 05-Oct-1996 wosch

delete doubled words, e.g.: "the the" -> "the"


18480 23-Sep-1996 wosch

add missing comma(s) in .Xr macros


17974 31-Aug-1996 bde

Fixed the easy cases of const poisoning in the kernel. Cosmetic.


17782 22-Aug-1996 mpp

Correctly use .Fn instead of .Nm to reference function names
in a bunch of man pages.

Use the correct .Bx (BSD UNIX) or .At (AT&T UNIX) macros
instead of explicitly specifying the version in the text
in a bunch of man pages.


17583 13-Aug-1996 ache

Back out fallback approximation changes, they are not so right to live


17141 12-Jul-1996 jkh

General -Wall warning cleanup, part I.
Submitted-By: Kent Vander Velden <graphix@iastate.edu>


16255 09-Jun-1996 ache

Use better approximation if collate info not available.
Fix bug: strxfrm+strcmp != strcoll, if collate info not available


16250 09-Jun-1996 ache

Localize it.
(it was NOT localized initially, it does some trick instead!)


15679 07-May-1996 wosch

``mv'' -> ``mv -f''
``rm'' -> ``rm -f''
so mv/rm may not ask for confirmation if you are not root


15307 19-Apr-1996 bde

Added `const' to types of sys_errlist and sys_nerr.

Use .Va instead of .Fa to describe these variables.

Say a little about inconsistent declarations of sys_errlist in the BUGS
section.


15165 09-Apr-1996 mpp

Update the description of strncat to accurately describe how many
bytes are copied to the destination string. Closes PR#1000.

Submitted by: Dave Glowacki <dglo@ssec.wisc.edu>


14045 12-Feb-1996 mpp

Another round of man page cleanups.

Down to only about 100 items left to cleanup! :-)


13750 30-Jan-1996 mpp

Fix even more spelling errors in some more man pages.


13372 10-Jan-1996 mpp

Correct the strspn() man page so that it no longer references
itself as strcspn().

Obtained from: NetBSD-bugs mailing list (PR# 1905)


13123 30-Dec-1995 peter

This commit was generated by cvs2svn to compensate for changes in r13122,
which included commits to RCS files with non-trunk default branches.


8870 30-May-1995 rgrimes

Remove trailing whitespace.


7895 16-Apr-1995 ache

If locale not available, fallback to strcasecmp, not to strcmp


6937 07-Mar-1995 bde

Don't build swab.o here. It gets built in libc/i386/string. Previously
the copy built from here was overwritten by the other copy and the other
copy was put in library-building command lines twice. ld now objects to
duplicated modules.


6544 18-Feb-1995 ache

Minor optimization.


6537 18-Feb-1995 ache

Copyrights cleanup


6509 16-Feb-1995 ache

Add 8bit collate stuff
Submitted by: alex@elvisti.kiev.ua


5071 12-Dec-1994 bde

Obtained from: 386BSD-0.1 patchkit; also fixed in 1.1.5

Compare unsigned chars.
Return the place after where the character was found and not the start
of the string.


2741 13-Sep-1994 wollman

Use latest Arthur Olson timezone code rather than that supplied with
4.4. The code is almost identical to the 4.4 versions, but this organization
should make it easier to merge new versions in the future.


2506 05-Sep-1994 bde

Don't include <sys/types.h> to get u_int or use u_int for a bogus cast.

Modernize bcopy -> memcpy.


2505 05-Sep-1994 bde

Fix printing of weird errno's: negative values were printed as large
unsigned's; null termination was only guaranteed for the first call.

Fix lint: don't declare externs internally; they were both out of date.


1849 05-Aug-1994 wollman

First crack at making libc work with the new make macros. It compiles on
my machine, and a simple static (genassym) and shared (sysctl) executable
both work. Still to be done: RPCand YP merge.


1574 27-May-1994 rgrimes

This commit was generated by cvs2svn to compensate for changes in r1573,
which included commits to RCS files with non-trunk default branches.