| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add notes to each of these that specifically state that results are
undefined if the strings overlap. In the case of memcpy, we document
the overlapping behavior on FreeBSD (pre-existing). For str*, it is
left unspecified, however, since the default (and x86) implementations
do not handle overlapping strings properly.
PR: 223653
Approved by: phk (mentor)
Notes:
svn path=/stable/10/; revision=343326
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Relnotes: yes
r283584 (by 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.
Notes:
svn path=/stable/10/; revision=313480
|
| |
|
|
|
|
|
|
|
| |
Add a standards compliance note for strtok_r
Approved by: re (marius@)
Notes:
svn path=/stable/10/; revision=295350
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
Notes:
svn path=/stable/10/; revision=294455
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
Notes:
svn path=/stable/10/; revision=294453
|
| |
|
|
|
|
|
|
|
|
| |
Merge strcspn.3 into strspn.3 and clarify the explaination
Approved by: eadler (mentor, implicit)
Sponsored by: ScaleEngine Inc.
Notes:
svn path=/stable/10/; revision=281570
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Bump __FreeBSD_version for ports that may be using the non-standard
reference.
Obtained from: DragonFlyBSD
Reviewed by: theraven
Notes:
svn path=/stable/10/; revision=267465
|
| |
|
|
|
|
|
|
| |
libc man pages: Remove reference to non-existent FreeBSD Security
Architecture
Notes:
svn path=/stable/10/; revision=262965
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=255108
|
| |
|
|
|
|
|
|
| |
NetBSD, OpenBSD, and Android's Bionic number the clauses 1 through 3,
so follow suit to make comparison easier.
Notes:
svn path=/head/; revision=251069
|
| |
|
|
|
|
|
|
|
| |
This was forgotten in the initial commit of strchrnul()
Approved by: theraven
Notes:
svn path=/head/; revision=247899
|
| |
|
|
|
|
|
|
|
|
| |
a pointer to the end of the string, rather than NULL, if the character was
not found.
Approved by: theraven
Notes:
svn path=/head/; revision=246766
|
| |
|
|
|
|
|
|
| |
Approved by: wblock
MFC after: 3 days
Notes:
svn path=/head/; revision=241062
|
| |
|
|
| |
Notes:
svn path=/head/; revision=240705
|
| |
|
|
|
|
|
|
| |
Messages for known signals looked like "Terminated: 15" instead of
"Terminated".
Notes:
svn path=/head/; revision=240704
|
| |
|
|
|
|
|
|
|
|
| |
Since r142667 strerror has unconditionally returned a pointer to a
static buffer.
MFC after: 1 week
Notes:
svn path=/head/; revision=238853
|
| |
|
|
|
|
|
|
|
|
|
| |
relevant Makefile.
Reminded by: gavin
Approved by: gabor (mentor)
MFC after: 5 days
Notes:
svn path=/head/; revision=237409
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
Notes:
svn path=/head/; revision=237393
|
| |
|
|
|
|
|
|
|
| |
PR: 167734
Submitted by: Nobuyuki Koganemaru (kogane!jp.freebsd.org)
MFC after: 3 days
Notes:
svn path=/head/; revision=235286
|
| |
|
|
|
|
|
|
|
|
| |
Disussed with: gavin
No objection from: doc
Approved by: joel
MFC after: 3 days
Notes:
svn path=/head/; revision=233648
|
| |
|
|
|
|
|
| |
MFC after: 3 days
Notes:
svn path=/head/; revision=232973
|
| |
|
|
|
|
|
|
|
|
| |
PR: kern/140690
Submitted by: Jeremy Huddleston <jeremyhu@apple.com>
Approved by: cperciva
MFC after: 2 weeks
Notes:
svn path=/head/; revision=232503
|
| |
|
|
|
|
|
|
|
|
| |
PR: docs/164940
Submitted by: Niclas Zeising <zeising@daemonic.se>
Approved by: cperciva
MFC after: 3 days
Notes:
svn path=/head/; revision=231813
|
| |
|
|
|
|
|
|
|
|
|
| |
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@
Notes:
svn path=/head/; revision=229571
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=229368
|
| |
|
|
|
|
|
|
| |
Reviewed by: many
Approved by: des
Notes:
svn path=/head/; revision=228202
|
| |
|
|
|
|
|
|
|
|
| |
- add a comment explaining why I used '|' instead of '||'
Submitted by: danfe@
Approved by: emaste@
Notes:
svn path=/head/; revision=227812
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- while here change 's' to 's1' in strcoll
Submitted by: eadler@
Reviewed by: theraven@
Approved by: brooks@
MFC after: 2 weeks
Notes:
svn path=/head/; revision=227808
|
| |
|
|
|
|
|
|
|
| |
needed.
Approved by: brooks (mentor)
Notes:
svn path=/head/; revision=227807
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
Notes:
svn path=/head/; revision=227753
|
| |
|
|
|
|
|
|
|
| |
PR: docs/156796
Submitted by: Jean-Yves Migeon <jeanyves.migeon free.fr>
MFC after: 3 days
Notes:
svn path=/head/; revision=221401
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=220376
|
| |
|
|
|
|
|
|
|
| |
POSIX.1-2008.
MFC after: 1 week
Notes:
svn path=/head/; revision=219803
|
| |
|
|
|
|
|
|
|
| |
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@)
Notes:
svn path=/head/; revision=211774
|
| |
|
|
|
|
|
|
| |
Prefer MACHNE_CPUARCH to MACHINE_ARCH in most contexts where you want
to test of all the CPUs of a given family conform.
Notes:
svn path=/head/; revision=211725
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=208027
|
| |
|
|
|
|
|
|
| |
Pointy hat to: delphij
MFC after: 1 month
Notes:
svn path=/head/; revision=205108
|
| |
|
|
|
|
|
| |
MFC after: 1 month
Notes:
svn path=/head/; revision=205100
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=205099
|
| |
|
|
| |
Notes:
svn path=/head/; revision=203485
|
| |
|
|
|
|
|
|
| |
This makes the implementation a bit more consistent with strdup(3),
which uses strlen(3).
Notes:
svn path=/head/; revision=203391
|
| |
|
|
|
|
|
| |
MFC after: 2 weeks
Notes:
svn path=/head/; revision=202916
|
| |
|
|
| |
Notes:
svn path=/head/; revision=200095
|
| |
|
|
|
|
|
|
|
| |
PR: 141037
Submitted by: Jeremy Huddleston <jeremyhu@apple.com>
MFC after: 3 days
Notes:
svn path=/head/; revision=199988
|
| |
|
|
|
|
|
|
|
|
|
| |
appeared in FreeBSD.
PR: 133785
Submitted by: Ulrich Spoerlein <uqs@spoerlein.net>
MFC after: 3 days
Notes:
svn path=/head/; revision=191414
|
| |
|
|
|
|
|
|
| |
because there is no way to figure that out based on the file mode
itself. Make the manual page match reality.
Notes:
svn path=/head/; revision=191055
|
| |
|
|
|
|
|
| |
Approved by: rwatson (mentor)
Notes:
svn path=/head/; revision=190798
|
| |
|
|
|
|
|
|
| |
Submitted by: Florian Smeets <flo kasimir com>
MFC after: 3 days
Notes:
svn path=/head/; revision=190266
|
| |
|
|
| |
Notes:
svn path=/head/; revision=189361
|
| |
|
|
|
|
|
| |
I missed this file in my previous commit.
Notes:
svn path=/head/; revision=189137
|