X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=progs%2Fprogs.priv.h;h=786fe558506e917fd3fd9ec655a71b9940f5980e;hp=fb5a84760733940511a27d3f02e32e7467e3ea2c;hb=aabb3a65ee5d88949abe529b5131adedb9cfab84;hpb=661078ddbde3ce0f3b06e95642fbb9b5fef7dca1 diff --git a/progs/progs.priv.h b/progs/progs.priv.h index fb5a8476..786fe558 100644 --- a/progs/progs.priv.h +++ b/progs/progs.priv.h @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998 Free Software Foundation, Inc. * + * Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -27,22 +27,25 @@ ****************************************************************************/ /**************************************************************************** - * Author: Thomas E. Dickey 1997,1998 * + * Author: Thomas E. Dickey 1997-on * ****************************************************************************/ /* - * $Id: progs.priv.h,v 1.17 1998/02/11 12:14:03 tom Exp $ + * $Id: progs.priv.h,v 1.41 2015/05/23 23:53:55 tom Exp $ * * progs.priv.h * * Header file for curses utility programs */ +#ifndef PROGS_PRIV_H +#define PROGS_PRIV_H 1 + #include -#ifdef USE_RCS_IDS +#if USE_RCS_IDS #define MODULE_ID(id) static const char Ident[] = id; #else -#define MODULE_ID(id) /*nothing*/ +#define MODULE_ID(id) /*nothing */ #endif #include @@ -52,10 +55,6 @@ #if HAVE_UNISTD_H #include -#else -# if HAVE_LIBC_H -# include -# endif #endif #if HAVE_SYS_BSDTYPES_H @@ -68,21 +67,20 @@ # include #endif -#ifndef PATH_MAX -# if defined(_POSIX_PATH_MAX) -# define PATH_MAX _POSIX_PATH_MAX -# elif defined(MAXPATHLEN) -# define PATH_MAX MAXPATHLEN -# else -# define PATH_MAX 255 /* the Posix minimum pathsize */ -# endif -#endif - #if HAVE_DIRENT_H # include # define NAMLEN(dirent) strlen((dirent)->d_name) +# if defined(_FILE_OFFSET_BITS) && defined(HAVE_STRUCT_DIRENT64) +# if !defined(_LP64) && (_FILE_OFFSET_BITS == 64) +# define DIRENT struct dirent64 +# else +# define DIRENT struct dirent +# endif +# else +# define DIRENT struct dirent +# endif #else -# define dirent direct +# define DIRENT struct direct # define NAMLEN(dirent) (dirent)->d_namlen # if HAVE_SYS_NDIR_H # include @@ -95,6 +93,15 @@ # endif #endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#include #include #if DECL_ERRNO @@ -103,7 +110,7 @@ extern int errno; #if HAVE_GETOPT_H #include -#else +#elif !defined(HAVE_GETOPT_HEADER) /* 'getopt()' may be prototyped in , but declaring its * variables doesn't hurt. */ @@ -112,9 +119,27 @@ extern int optind; #endif /* HAVE_GETOPT_H */ #include -#include +#include +#include #include +#include + +#include #include +#if HAVE_NC_FREEALL +#undef ExitProgram +#ifdef USE_LIBTINFO +#define ExitProgram(code) _nc_free_tinfo(code) +#else +#define ExitProgram(code) _nc_free_tic(code) +#endif +#endif + +#if defined(__GNUC__) && defined(_FORTIFY_SOURCE) +#define IGNORE_RC(func) errno = (int) func +#else +#define IGNORE_RC(func) (void) func +#endif /* gcc workarounds */ /* usually in */ #ifndef STDOUT_FILENO @@ -133,6 +158,18 @@ extern int optind; #define EXIT_FAILURE 1 #endif +#ifndef R_OK +#define R_OK 4 /* Test for readable. */ +#endif + +#ifndef W_OK +#define W_OK 2 /* Test for writable. */ +#endif + +#ifndef X_OK +#define X_OK 1 /* Test for executable. */ +#endif + #ifndef F_OK #define F_OK 0 /* Test for existence. */ #endif @@ -146,14 +183,31 @@ extern int optind; #define STDERR_FILENO 2 #endif +/* may be in limits.h, included from various places */ +#ifndef PATH_MAX +# if defined(_POSIX_PATH_MAX) +# define PATH_MAX _POSIX_PATH_MAX +# elif defined(MAXPATHLEN) +# define PATH_MAX MAXPATHLEN +# else +# define PATH_MAX 255 /* the Posix minimum pathsize */ +# endif +#endif + /* We use isascii only to guard against use of 7-bit ctype tables in the * isprint test in infocmp. */ -#ifndef HAVE_ISASCII +#if !HAVE_ISASCII # undef isascii # if ('z'-'a' == 25) && ('z' < 127) && ('Z'-'A' == 25) && ('Z' < 127) && ('9' < 127) -# define isascii(c) (((c) & 0xff) <= 127) +# define isascii(c) (UChar(c) <= 127) # else -# define isascii(c) 1 /* not really ascii anyway */ +# define isascii(c) 1 /* not really ascii anyway */ # endif #endif + +#define UChar(c) ((unsigned char)(c)) + +#define SIZEOF(v) (sizeof(v)/sizeof(v[0])) + +#endif /* PROGS_PRIV_H */