diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2009-09-19 09:47:30 +0300 |
---|---|---|
committer | Lasse Collin <lasse.collin@tukaani.org> | 2009-09-19 09:47:30 +0300 |
commit | e599bba4216c0edb8cc8f40adad3a6dba88685f4 (patch) | |
tree | d52c699f599e276ff65302e5854a26998da1a928 /src/common/tuklib_open_stdxxx.c | |
parent | Fix incorrect use of "restrict". (diff) | |
download | xz-e599bba4216c0edb8cc8f40adad3a6dba88685f4.tar.xz |
Various changes.
Separate a few reusable components from XZ Utils specific
code. The reusable code is now in "tuklib" modules. A few
more could be separated still, e.g. bswap.h.
Fix some bugs in lzmainfo.
Fix physmem and cpucores code on OS/2. Thanks to Elbert Pol
for help.
Add OpenVMS support into physmem. Add a few #ifdefs to ease
building XZ Utils on OpenVMS. Thanks to Jouk Jansen for the
original patch.
Diffstat (limited to '')
-rw-r--r-- | src/common/tuklib_open_stdxxx.c (renamed from src/common/open_stdxxx.h) | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/common/open_stdxxx.h b/src/common/tuklib_open_stdxxx.c index 22300851..70c8e73d 100644 --- a/src/common/open_stdxxx.h +++ b/src/common/tuklib_open_stdxxx.c @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// // -/// \file open_stdxxx.h +/// \file tuklib_open_stdxxx.c /// \brief Make sure that file descriptors 0, 1, and 2 are open // // Author: Lasse Collin @@ -10,17 +10,20 @@ // /////////////////////////////////////////////////////////////////////////////// -#ifndef OPEN_STDXXX_H -#define OPEN_STDXXX_H +#include "tuklib_open_stdxxx.h" -#include <stdlib.h> -#include <fcntl.h> -#include <unistd.h> +#ifndef TUKLIB_DOSLIKE +# include <stdlib.h> +# include <errno.h> +# include <fcntl.h> +# include <unistd.h> +#endif -static void -open_stdxxx(int status) +extern void +tuklib_open_stdxxx(int err_status) { +#ifndef TUKLIB_DOSLIKE for (int i = 0; i <= 2; ++i) { // We use fcntl() to check if the file descriptor is open. if (fcntl(i, F_GETFD) == -1 && errno == EBADF) { @@ -38,12 +41,11 @@ open_stdxxx(int status) // may very well be non-existent. This // error should be extremely rare. (void)close(fd); - exit(status); + exit(err_status); } } } +#endif return; } - -#endif |