- 23 5月, 2012 3 次提交
-
-
由 Rich Felker 提交于
there is no reason to avoid multiple identical macro definitions; this is perfectly legal C, and even with the maximal warning options enabled, gcc does not issue any warning for it.
-
由 Rich Felker 提交于
its only purpose was for use on non-BSD systems that implement sysv semantics for signal() by default.
-
由 Rich Felker 提交于
patch by Isaac Dunham. matched closely (maybe not exact) to glibc's idea of what _BSD_SOURCE should make visible.
-
- 22 5月, 2012 2 次提交
-
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
it's ok to overlap with integer slot 3 on 32-bit because only slots 0-2 are used on process-local barriers.
-
- 21 5月, 2012 1 次提交
-
-
由 Rich Felker 提交于
-
- 17 5月, 2012 1 次提交
-
-
由 Rich Felker 提交于
-
- 15 5月, 2012 1 次提交
-
-
由 Rich Felker 提交于
-
- 14 5月, 2012 6 次提交
-
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
these are cruft from the original code which used an explicit string length rather than null termination. i blindly converted all the checks to null terminator checks, without noticing that in several cases, the subsequent switch statement would automatically handle the null byte correctly.
-
由 Rich Felker 提交于
i don't understand why this has to be conditional on being in BRE mode, but enabling this code unconditionally breaks a huge number of ERE test cases.
-
- 13 5月, 2012 8 次提交
-
-
由 Rich Felker 提交于
i've been trying out openmp and it seems like it won't be much use without this...
-
由 Rich Felker 提交于
we do not bother making h_errno thread-local since the only interfaces that use it are inherently non-thread-safe. but still use the potentially-thread-local ABI to access it just to avoid lock-in.
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
-
由 nsz 提交于
-
由 nsz 提交于
-
- 11 5月, 2012 7 次提交
-
-
由 Rich Felker 提交于
written to avoid multiple conditional jumps and avoid ugly repetitive lines in the header file.
-
由 Rich Felker 提交于
this one is for program(s|ers) who haven't heard of uint16_t and uint32_t (which are obviously the correct types for use in such situations, as they're the argument/return types for ntohs/htons and ntohl/htonl).
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
there's no sense in using a powerful lock in exit, because it will never be unlocked. a thread that arrives at exit while exit is already in progress just needs to hang forever. use the pause syscall for this because it's cheap and easy and universally available.
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
-
- 10 5月, 2012 2 次提交
-
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
this is all junk, but some programs use it.
-
- 09 5月, 2012 1 次提交
-
-
由 Rich Felker 提交于
the non-prototype declaration of basename in string.h is an ugly compromise to avoid breaking 2 types of broken software: 1. programs which assume basename is declared in string.h and thus would suffer from dangerous pointer-truncation if an implicit declaration were used. 2. programs which include string.h with _GNU_SOURCE defined but then declare their own prototype for basename using the incorrect GNU signature for the function (which would clash with a correct prototype). however, since C++ does not have non-prototype declarations and interprets them as prototypes for a function with no arguments, we must omit it when compiling C++ code. thankfully, all known broken apps that suffer from the above issues are written in C, not C++.
-
- 08 5月, 2012 6 次提交
-
-
由 nsz 提交于
backported fix from freebsd: http://svnweb.FreeBSD.org/base?view=revision&revision=233973
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
1. * in BRE is not special at the beginning of the regex or a subexpression. this broke ncurses' build scripts. 2. \\( in BRE is a literal \ followed by a literal (, not a literal \ followed by a subexpression opener. 3. the ^ in \\(^ in BRE is a literal ^ only at the beginning of the entire BRE. POSIX allows treating it as an anchor at the beginning of a subexpression, but TRE's code for checking if it was at the beginning of a subexpression was wrong, and fixing it for the sake of supporting a non-portable usage was too much trouble when just removing this non-portable behavior was much easier. this patch also moved lots of the ugly logic for empty atom checking out of the default/literal case and into new cases for the relevant characters. this should make parsing faster and make the code smaller. if nothing else it's a lot more readable/logical. at some point i'd like to revisit and overhaul lots of this code...
-
- 07 5月, 2012 2 次提交
-
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
-