summaryrefslogtreecommitdiffstats
path: root/lib/libc
Commit message (Collapse)AuthorAgeFilesLines
* Document the MSG_DONTWAIT flag.harti2004-07-161-1/+8
|
* Add a cross reference to fgetwln(3).tjr2004-07-161-0/+1
|
* Add fgetwln(), a wide character version of fgetln().tjr2004-07-163-2/+192
|
* Rename slbexpand() to __slbexpand() and make it available outsidetjr2004-07-162-4/+5
| | | | of fgetln.c (non-static).
* Clarify getfsstat(2) usage.alfred2004-07-161-1/+6
| | | | | | | | | The getfsstat(2) function expects a buffer and a count, and returns a count. The confusing part is that the count it takes is a byte count, while the return value is a count of the number of structures it has filled out. Spell this out.
* Remove an entry from the BUGS section: we have multibyte charactertjr2004-07-121-2/+0
| | | | support now.
* Make regular expression matching aware of multibyte characters. The generaltjr2004-07-125-324/+478
| | | | | | | | | | | | | | | | | idea is that we perform multibyte->wide character conversion while parsing and compiling, then convert byte sequences to wide characters when they're needed for comparison and stepping through the string during execution. As with tr(1), the main complication is to efficiently represent sets of characters in bracket expressions. The old bitmap representation is replaced by a bitmap for the first 256 characters combined with a vector of individual wide characters, a vector of character ranges (for [A-Z] etc.), and a vector of character classes (for [[:alpha:]] etc.). One other point of interest is that although the Boyer-Moore algorithm had to be disabled in the general multibyte case, it is still enabled for UTF-8 because of its self-synchronizing nature. This greatly speeds up matching by reducing the number of multibyte conversions that need to be done.
* Add a new error code, REG_ILLSEQ, to indicate that a regular expressiontjr2004-07-122-1/+5
| | | | contains an illegal multibyte character sequence.
* Document the new PT_LWPINFO request. In fact, the request is so newmarcel2004-07-121-0/+19
| | | | | it hasn't even been implemented yet. I just wanted to be the first to try a new approach to development ;-)
* Remove incomplete support for multi-character collating elements. Removetjr2004-07-112-262/+8
| | | | unused character category calculations.
* Unbreak alpha: On alpha a long double is the same as a double andmarcel2004-07-101-0/+4
| | | | | | consequently the exponent is only 11 bits. Testing whether the exponent equals 32767 in that case only effects to compiler warnings and thus build breakage.
* Add fast paths for conversion of plain ASCII characters.tjr2004-07-091-0/+13
|
* Slightly reorganize and simplify.tjr2004-07-091-24/+11
|
* Bump document date for recent changes.das2004-07-091-1/+1
| | | | Prodded by: ru
* Document these functions as being in libm, not libc. Some of themdas2004-07-091-4/+1
| | | | | | | *are* in libc for historical reasons, but programmers should not rely on that fact. Also remove a BUGS section that is not relevant here.
* Implement the classification macros isfinite(), isinf(), isnan(), anddas2004-07-0917-501/+141
| | | | | | | | | | | | | | | | | | | | | isnormal() the hard way, rather than relying on fpclassify(). This is a lose in the sense that we need a total of 12 functions, but it is necessary for binary compatibility because we have never bumped libm's major version number. In particular, isinf(), isnan(), and isnanf() were BSD libc functions before they were C99 macros, so we can't reimplement them in terms of fpclassify() without adding a dependency on libc.so.5. I have tried to arrange things so that programs that could be compiled in FreeBSD 4.X will generate the same external references when compiled in 5.X. At the same time, the new macros should remain C99-compliant. The isinf() and isnan() functions remain in libc for historical reasons; however, I have moved the functions that implement the macros isfinite() and isnormal() to libm where they belong. Moreover, half a dozen MD versions of isinf() and isnan() have been replaced with MI versions that work equally well. Prodded by: kris
* Eliminate some magic numbers and correct description of _PC_NO_TRUNC.wollman2004-07-082-20/+45
| | | | | Slight emendation to _PC_CHOWN_RESTRICTED, which is in a very similar boat.
* Add a function to iterate over all characters in a particular charactertjr2004-07-083-2/+150
| | | | | | class. This is necessary in order to implement tr(1) efficiently in multibyte locales, since the brute force method of finding all characters in a class is infeasible with a 32-bit (or wider) wchar_t.
* there's no such define as KERN_NAME_MAX, change to _POSIX_NAME_MAX.alfred2004-07-071-1/+1
|
* Markup nits.ru2004-07-071-2/+4
|
* Fixed markup.ru2004-07-071-16/+22
|
* mdoc(7) fixes.ru2004-07-071-2/+3
|
* Move the return value information about the getenv(3) library functionhmp2004-07-061-4/+10
| | | | | | | | | under the RETURN VALUES section so it is consistent with others. Cleanup the return value text for getenv(3) a little while I am here. PR: docs/58033 MFC after: 3 days
* Keep it sync with OpenBSD:ache2004-07-061-3/+4
| | | | | | | An optional argument cannot start with '-', even if permutation is disabled. Obtained from: OpenBSD getopt_long.c v1.17
* Document incorrect handling of multibyte characters.tjr2004-07-061-1/+3
|
* Add implementations of ftw(3) and nftw(3) and the corresponding headerdas2004-07-052-2/+211
| | | | | | | | ftw.h. This is the implementation written by Joel Baker <fenton@debian.org> for inclusion in NetBSD, but with several bugfixes. Obtained from: Debian
* Documentation for ftw(3) and nftw(3).das2004-07-051-0/+210
| | | | Obtained from: OpenBSD
* Fix the NAME section making whatis(1) happy in particular.ru2004-07-056-16/+13
|
* Markup fixes.ru2004-07-053-128/+180
|
* Markup nits.ru2004-07-0513-70/+91
|
* Sort SEE ALSO references (in dictionary order, ignoring case).ru2004-07-047-7/+7
|
* Add commentary explaining why we return EBADF upon attempts to fflush() acperciva2004-07-041-0/+12
| | | | | | read-only file. Discussed on: -current
* Consistently use __inline instead of __inline__ as the former is an empty macrostefanf2004-07-041-3/+3
| | | | in <sys/cdefs.h> for compilers without support for inline.
* Fixed markup.ru2004-07-033-13/+14
|
* Eliminate double whitespace.ru2004-07-0322-45/+48
|
* Mechanically kill hard sentence breaks.ru2004-07-02143-439/+851
|
* Follow previous change in makecontext. Use %esi to store next ucpdavidxu2004-07-021-1/+1
| | | | | pointer, here we keep orignal %ebp, so we can see where signal handler comes in and interrupt normal code.
* Removed trailing whitespace.ru2004-07-026-15/+15
|
* Markup tidying.ru2004-07-026-16/+37
|
* Use %esi to store next ucp pointer. Mark end of stack bydavidxu2004-07-022-3/+4
| | | | | setting %ebp to zero, this avoids new gdb to dump a weird backtrace.
* Markup, grammar, and spelling fixes.ru2004-06-3020-82/+121
|
* Fixed a typo.ru2004-06-302-2/+2
|
* Fix typo: WRDE_DOOFS -> WRDE_DOOFFS.tjr2004-06-302-5/+5
| | | | Noticed by: Stoned Elipot
* s/SS_CANTSENDMORE/SBS_CANTSENDMORE/rik2004-06-241-1/+1
|
* Prefix the names of members of _RuneLocale and its sub-structurestjr2004-06-236-87/+90
| | | | | | with ``__'' to avoid polluting the namespace. This doesn't change the documented rune interface at all, but breaks applications that accessed _RuneLocale directly.
* Be specific about which socket properties are inherited from the originalbms2004-06-231-10/+13
| | | | | | socket upon accept(2). PR: docs/54995, kern/45733
* Spelling fixes.mpp2004-06-212-3/+3
|
* Spelling fixes.mpp2004-06-211-1/+1
|
* Spelling fixes.mpp2004-06-211-1/+1
|
* Spelling fixes.mpp2004-06-212-3/+3
|
OpenPOWER on IntegriCloud