| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
support now.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
contains an illegal multibyte character sequence.
|
|
|
|
|
| |
it hasn't even been implemented yet. I just wanted to be the first
to try a new approach to development ;-)
|
|
|
|
| |
formats and remove some outdated comments about library limitations.
|
|
|
|
| |
unused character category calculations.
|
|
|
|
| |
not interchangable.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
needed as of math.h v1.40, and its prototype is incorrect here.
|
|
|
|
| |
Prodded by: ru
|
|
|
|
|
|
|
| |
*are* in libc for historical reasons, but programmers should not rely
on that fact.
Also remove a BUGS section that is not relevant here.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
builtins are available: HUGE_VAL, HUGE_VALF, HUGE_VALL, INFINITY,
and NAN. These macros now expand to floating-point constant
expressions rather than external references, as required by C99.
Other compilers will retain the historical behavior. Note that
it is not possible say, e.g.
#define HUGE_VAL 1.0e9999
because the above may result in diagnostics at translation time
and spurious exceptions at runtime. Hence the need for compiler
support for these features.
Also use builtins to implement the macros isgreater(),
isgreaterequal(), isless(), islessequal(), islessgreater(),
and isunordered() when such builtins are available.
Although the old macros are correct, the builtin versions
are much faster, and they avoid double-expansion problems.
|
|
|
|
|
| |
Slight emendation to _PC_CHOWN_RESTRICTED, which is in a very similar
boat.
|
|
|
|
| |
for the service access point (SAP) stuff now that it is really available.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
code. <whew!> This version handles all of the following edge cases:
* Restoring explicit dirs with 000 permissions (star fails this test)
* Restore of implicit or explicit dirs when umask=777
(gtar and star both fail this test)
* Restoring dir paths containing "." and ".." components
This version initially creates all dirs with permission 700 (ignoring
umask), then does a post-extract "fixup" pass to set the correct
permissions (which may or may not depend on umask, depending on the
restore flags and whether it's an explicit or implicit dir).
Permissions are restored depth-first so that permissions within
non-writable dirs can be correctly restored. (The depth-sorting does
correctly account for dirs with ".." components.)
|
|
|
|
| |
Reviewed by: imp, ru
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
An optional argument cannot start with '-', even if permutation is
disabled.
Obtained from: OpenBSD getopt_long.c v1.17
|
|
|
|
| |
open where people can see them and hopefully fix them.
|
|
|
|
|
|
|
| |
{ip,udp,tcp} header and return a void * pointing to the payload (i.e. the
first byte past the end of the header and any required padding). Use them
consistently throughout libalias to a) reduce code duplication, b) improve
code legibility, c) get rid of a bunch of alignment warnings.
|
|
|
|
|
|
| |
a short pointer. The previous implementation seems to be in a gray zone
of the C standard, and GCC generates incorrect code for it at -O2 or
higher on some platforms.
|
| |
|
|
|
|
| |
alpha.
|
|
|
|
|
|
|
| |
These trivial implementations are about 25 times slower than
rint{,f}() on x86 due to the FP environment save/restore.
They should eventually be redone in terms of fegetround() and
bit fiddling.
|
|
|
|
|
|
|
|
| |
ftw.h. This is the implementation written by Joel Baker
<fenton@debian.org> for inclusion in NetBSD, but with several
bugfixes.
Obtained from: Debian
|
|
|
|
| |
Obtained from: OpenBSD
|
| |
|
|
|
|
| |
without having to first pull the stat structure.
|
|
|
|
| |
but some colons are supposed to be followed by uppercase letters.
|
|
|
|
| |
Slightly fix markup and grammar.
|
| |
|
|
|
|
| |
Minor markup and grammar nits.
|
|
|
|
|
|
|
|
|
| |
named link, foo_link or link_foo to lnk, foo_lnk or lnk_foo, fixing
signed / unsigned comparisons, and shoving unused function arguments
under the carpet.
I was hoping WARNS?=6 might reveal more serious problems, and perhaps
the source of the -O2 breakage, but found no smoking gun.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Emininated double space and hard sentence breaks.
|