summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* When writing "pax" format, readers are supposed to ignore fieldskientzle2004-07-265-25/+117
| | | | | | | | | | | | | | | | | | in the regular ustar header that are overridden by the pax extended attributes. As a result, it makes perfect sense to use numeric extensions in the regular ustar header so that readers that don't understand pax extensions but do understand some other extensions can still get useful information out of it. This is especially important for filesizes, as the failure to read a file size correctly can get the reader out of sync. This commit introduces a "non-strict" option into the internal function to format a ustar header. In non-strict mode, the formatter will use longer octal values (overwriting terminators) or binary ("base-256") values as needed to ensure that large file sizes, negative mtimes, etc, have the correct values stored in the regular ustar header.
* Allow "posix" as a synonym for "pax". (The gtar folks chose "posix",kientzle2004-07-251-0/+1
| | | | | which is really, really dumb and just going to cause confusion among people who understand that "ustar" is also a POSIX standard tar format.)
* We were forcing a pax extension header for files >= 1G. Set thatkientzle2004-07-251-1/+1
| | | | cutoff to >= 8G, as it should be.
* Add an nftw(3) link.tjr2004-07-251-0/+1
|
* Minor style nits.kientzle2004-07-241-2/+2
|
* Rework the feature-detection logic in archive_platform.h so thatkientzle2004-07-241-63/+116
| | | | it will work cleanly with autoconf.
* Define the PACKAGE_NAME and PACKAGE_VERSION macros.kientzle2004-07-242-0/+6
|
* Suppress a minor compiler warning if the platform doesn't support hi-reskientzle2004-07-241-0/+2
| | | | timestamps.
* Add some functions to query basic facts about the library:kientzle2004-07-243-12/+66
| | | | | | | | | | | | | | | archive_version: Returns a text string, e.g., "libarchive 1.00.000" archive_api_version: Returns the SHLIB major version archive_api_feature: Returns a feature number useful for answering questions such as "Is this recent enough to do XXX?" The last two also have macros defined in archive.h, so you can compare the compile-time and run-time environments. (In particular, you can compare ARCHIVE_API_VERSION to archive_api_version() to detect library version mismatches.) With these in hand, it will soon be time to turn on the shared-library version of libarchive... stay tuned.
* Use "linux" instead of "LINUX" to control Linux-specific code.kientzle2004-07-243-8/+18
| | | | | | | | Thanks to: David O'Brien for pointing this out. Also, add in a few additional portability tweaks and make a few more things conditional on features (HAVE_XXXX macros) rather than platform.
* Fix the handling of signed values when parsing base-256 header values.kientzle2004-07-241-32/+68
| | | | | | | | | | | | In particular, this means we can now correctly read gtar archives that contain timestamps prior to the start of the Epoch. Also, make the code in this area more portable. ANSI C99 headers are not yet ubiquitous (for example, FreeBSD 4 still lacks them), so be prepared for systems that don't have the INT64_MAX, INT64_MIN, and UINT64_MAX macros. This version still requires int64_t and uint64_t be defined (which can be done in archive_platform.h if necessary), but doesn't require them to be exactly 64 bits.
* Remove unused variable.das2004-07-231-9/+1
| | | | Noticed by: Todd Miller <Todd.Miller@courtesan.com>
* Return the correct value when dst == NULL and conversion has stopped aftertjr2004-07-221-2/+2
| | | | nwc dropping to zero.
* now e.f.f.3.ip6.arpa is delegated, we no longer need to query ip6.intume2004-07-212-7/+1
| | | | Obtained from: KAME
* Read directly from the stdio buffer using the new __mbsnrtowcs() interfacetjr2004-07-211-14/+38
| | | | instead of making repeated calls to __fgetwc().
* Implement the GNU extensions of mbsnrtowcs() and wcsnrtombs(). These aretjr2004-07-2114-165/+317
| | | | | | | convenient when the source string isn't null-terminated. Implement the other conversion functions (mbstowcs(), mbsrtowcs(), wcstombs(), wcsrtombs()) in terms of these new functions.
* Use __wcsrtombs() and __sfvwrite() to convert and write the wide charactertjr2004-07-211-8/+25
| | | | string instead of multiple calls to __fputwc().
* Back out previous commit. Even though statfs(2) can take a regularcsjp2004-07-201-0/+4
| | | | | | | | file as an argument, it may still fail for the same reasons that open(2) can. Pointed out by: Jilles Tjoelker Apporived by: bmilekic (mentor)
* Remove reference to ENOTDIR in the documented errorscsjp2004-07-201-4/+0
| | | | | | | | for statfs(2). This is false, if the pathname specified is a regular file, then the information for the file system that the file lives on will be returned. Approved by: bmilekic (mentor)
* Call __mbrtowc() and __wcrtomb() directly instead of taking detourstjr2004-07-203-3/+6
| | | | through mbrtowc() and wcrtomb().
* Fix printing of long doubles to match the size thatgallatin2004-07-192-11/+8
| | | | | | | | | | | | | gcc is using. This fixes devstat consumers (like vmstat, iostat, systat) so they don't print crazy zillion digit numbers for disk transfers and bandwidth. According to gcc, long doubles are 64-bits, rather than 128 bits like the SVR4 ABI spec wants them to be.. Note that MacOSX also treats long doubles as 64-bits, and not 128 bits, so we are in good company. Reviewed by: das Approved by: grehan
* prgregset_t changed type from being a typedef of struct reg to anmarcel2004-07-191-1/+1
| | | | | array of one element of type struct reg. Change the argument to libc_r_md_getgregs() accordingly.
* Enable libpthread build for powerpcgrehan2004-07-191-1/+1
|
* PPC MD bits for KSE. Runs test cases OK. Crippled to 1:1 mode forgrehan2004-07-1916-0/+1640
| | | | the time being.
* Add signalcontext, required by KSE.grehan2004-07-192-1/+104
|
* The new program counter should go into the trapframe's srr0 andgrehan2004-07-191-1/+1
| | | | not the link register, which was lucky enough to work.
* Update paths to reg*.c and regex2.h. Add a target to build regex.h.tjr2004-07-191-1/+3
|
* Update for removal of cclass.h. Trim some useless targets. Invoke mkhtjr2004-07-191-34/+6
| | | | with "sh mkh" so it works if the script is not executable.
* Update for recent changes to struct re_guts. Disable printing the contentstjr2004-07-191-38/+5
| | | | of OANYOF sets for the moment.
* Remove unused files.tjr2004-07-192-12/+0
|
* Make FLT_ROUNDS correctly reflect the dynamic rounding mode.das2004-07-196-3/+80
|
* Fix two bugs in the signbit() macro, which was implemented last year:das2004-07-195-9/+31
| | | | | | | | - It was added to libc instead of libm. Hopefully no programs rely on this mistake. - It didn't work properly on large long doubles because its argument was converted to type double, resulting in undefined behavior.
* Replace seven nominally MD implementations of frexp() that are brokendas2004-07-1816-456/+65
| | | | for subnormals with one implementation that works.
* This library is not WARNS=2 clean for -O2 builds, because we includemarcel2004-07-181-1/+1
| | | | | | headers from libpthread that are not WARNS=2 clean for -O2 builds. Lower the WARNS level to 1. This is the highest level possible for now.
* Correct the mess I made by committing from the wrong tree. Mostmarcel2004-07-185-33/+33
| | | | | | | | | notably, this restores some of the contents in thread_db.h as well as David Xu's copyright notice. This also fixes the includes in the MD libpthread files which Scott tried to provide a quick fix for. Pointy hat: marcel
* Try to fix ia64 and alpha compiles. I don't have either equipment firedscottl2004-07-182-0/+14
| | | | up now, but it appears to be the same problem and solution as sparc64.
* Add missing #includes so that this can compile. Obtained from the i386 version.scottl2004-07-181-0/+7
|
* Remove claim of conformance to IEEE Std. 1003.2. Replace it with a listtjr2004-07-181-7/+12
| | | | | | | of features required by the standard that the current implementation does not support. PR: 57911 (related)
* Remove claim of conformance to IEEE Std. 1003.2. Replace it with a listtjr2004-07-181-3/+7
| | | | | | | of features required by the standard that the current implementation does not support. PR: 57911
* Hook libthread_db into the build, except for arm and powerpc.marcel2004-07-181-2/+6
| | | | | Porting libthread_db to arm and/or powerpc is easy enough, but we don't build gdb on those platforms yet.
* Define _libthr_debug for use by libthread_db.marcel2004-07-181-0/+9
|
* Don't include lock.h and pthread_md.h when we're being included bymarcel2004-07-182-0/+4
| | | | libthread_db. Both headers are included seperately.
* Add rudimentary support and stubs for libthr and libc_r on alpha, amd64,marcel2004-07-1822-1178/+1851
| | | | | | | | | | | | | | | | | | | | | i386, ia64 and sparc64. Add stubs for alpha, amd64, ia64 and sparc64 for libpthread. Restructure the source files to avoid unnecessary use of subdirectories that also force us to use non-portable compilation flags to deal with the uncommon compilation requirements (building archive libraries for linkage into a shared library). The libpthread support has been copied from the original local and cleaned-up to make them WARNS=2 clean. that also force us to use non-portable compilation flags to deal with the uncommon compilation requirements (building archive libraries for linkage into a shared library). The libpthread support has been copied from the original local and cleaned-up to make them WARNS=2 clean. Tested on: amd64, i386, ia64
* Add the const qualifier to the prgregset_t argument for the *setregs*marcel2004-07-174-4/+4
| | | | functions.
* Fix minor namespace pollution: The prototypes for f{dim,max,min}(),stefanf2004-07-171-6/+6
| | | | | nearbyint(), round() and trunc() shouldn't be visible when compiling with -D_XOPEN_SOURCE=500.
* Fix typo: carat -> caret.tjr2004-07-171-1/+1
|
* Document the MSG_DONTWAIT flag.harti2004-07-161-1/+8
|
* Tweak the conditions under which certain gcc builtins are used:das2004-07-161-2/+2
| | | | | | | | | | | | - Unlike the builtin relational operators, builtin floating-point constants were not available until gcc 3.3, so account for this.[1] - Apparently some versions of the Intel C Compiler fallaciously define __GNUC__ without actually being compatible with the claimed gcc version. Account for this, too.[2] [1] Noticed by: Christian Hiris <4711@chello.at> [2] Submitted by: Alexander Leidinger <Alexander@Leidinger.net>
* 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
|
OpenPOWER on IntegriCloud