mirror of
				git://git.code.sf.net/p/cdesktopenv/code
				synced 2025-03-09 15:50:02 +00:00 
			
		
		
		
	libast: consolidate errno ID fallbacks into error.h
In various places in libast and libcmd there are preprocessor
fallbacks like this, for systems that don't define all the commonly
used errno value IDs:
    #ifndef ENOSYS
    #define ENOSYS	EINVAL
    #endif
and many others. It is better to have these all in one place so
they are not duplicated and we don't risk inconsistencies when
adding new code.
src/lib/libast/include/error.h includes the OS's <errno.h>, so it
is the logical file to move all these fallbacks into.
Quite possibly there is no remotely current system that needs any
of these, but they won't do any harm either.
Most files already use <error.h> directly or indirectly. Four
needed new #include <error.h> directives to use the fallbacks if
needed. The libast Mamfile is updated to make those files depend on
that header.
			
			
This commit is contained in:
		
							parent
							
								
									814b5c6890
								
							
						
					
					
						commit
						71bfe0283d
					
				
					 22 changed files with 47 additions and 112 deletions
				
			
		| 
						 | 
				
			
			@ -1523,6 +1523,7 @@ make install
 | 
			
		|||
					prev port/lclib.h implicit
 | 
			
		||||
					prev std/iconv.h implicit
 | 
			
		||||
					prev include/ccode.h implicit
 | 
			
		||||
					prev include/error.h implicit
 | 
			
		||||
					prev std/dirent.h implicit
 | 
			
		||||
					prev include/ast.h implicit
 | 
			
		||||
				done comp/iconv.c
 | 
			
		||||
| 
						 | 
				
			
			@ -1571,6 +1572,7 @@ make install
 | 
			
		|||
						make stropts.h implicit
 | 
			
		||||
						done stropts.h dontcare virtual
 | 
			
		||||
						prev std/wchar.h implicit
 | 
			
		||||
						prev include/error.h implicit
 | 
			
		||||
						make FEATURE/float implicit
 | 
			
		||||
							meta FEATURE/float features/%>FEATURE/% features/float float
 | 
			
		||||
							make features/float
 | 
			
		||||
| 
						 | 
				
			
			@ -1595,6 +1597,7 @@ make install
 | 
			
		|||
						make sfio/vthread.h implicit
 | 
			
		||||
							prev windows.h implicit
 | 
			
		||||
							prev std/endian.h implicit
 | 
			
		||||
							prev include/error.h implicit
 | 
			
		||||
							prev ast_common.h implicit
 | 
			
		||||
						done sfio/vthread.h dontcare
 | 
			
		||||
						make include/sfio_t.h implicit
 | 
			
		||||
| 
						 | 
				
			
			@ -2748,6 +2751,7 @@ make install
 | 
			
		|||
				make comp/strtol.c
 | 
			
		||||
					make string/strtoi.h implicit
 | 
			
		||||
						prev sfio/sfhdr.h implicit
 | 
			
		||||
						prev include/error.h implicit
 | 
			
		||||
						prev include/ast.h implicit
 | 
			
		||||
					done string/strtoi.h dontcare
 | 
			
		||||
				done comp/strtol.c
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,10 +31,6 @@ NoN(fsync)
 | 
			
		|||
 | 
			
		||||
#include <error.h>
 | 
			
		||||
 | 
			
		||||
#ifndef ENOSYS
 | 
			
		||||
#define ENOSYS	EINVAL
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
fsync(int fd)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,6 +31,7 @@
 | 
			
		|||
 | 
			
		||||
#include <ast.h>
 | 
			
		||||
#include <dirent.h>
 | 
			
		||||
#include <error.h>
 | 
			
		||||
 | 
			
		||||
#define DEBUG_TRACE		0
 | 
			
		||||
#define _ICONV_LIST_PRIVATE_
 | 
			
		||||
| 
						 | 
				
			
			@ -56,13 +57,6 @@
 | 
			
		|||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef E2BIG
 | 
			
		||||
#define E2BIG			ENOMEM
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef EILSEQ
 | 
			
		||||
#define EILSEQ			EIO
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define RETURN(e,n,fn) \
 | 
			
		||||
	if (*fn && !e) e = E2BIG; \
 | 
			
		||||
	if (e) { errno = e; return (size_t)(-1); } \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,10 +31,6 @@ NoN(link)
 | 
			
		|||
 | 
			
		||||
#include <error.h>
 | 
			
		||||
 | 
			
		||||
#ifndef ENOSYS
 | 
			
		||||
#define ENOSYS	EINVAL
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
link(const char* from, const char* to)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,10 +32,6 @@ NoN(mkfifo)
 | 
			
		|||
#include <ls.h>
 | 
			
		||||
#include <error.h>
 | 
			
		||||
 | 
			
		||||
#ifndef ENOSYS
 | 
			
		||||
#define ENOSYS	EINVAL
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
mkfifo(const char* path, mode_t mode)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,10 +32,6 @@ NoN(mknod)
 | 
			
		|||
 | 
			
		||||
#include <error.h>
 | 
			
		||||
 | 
			
		||||
#ifndef ENOSYS
 | 
			
		||||
#define ENOSYS	EINVAL
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
mknod(const char* path, mode_t mode, dev_t dev)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,10 +31,6 @@ NoN(mount)
 | 
			
		|||
 | 
			
		||||
#include <error.h>
 | 
			
		||||
 | 
			
		||||
#ifndef ENOSYS
 | 
			
		||||
#define ENOSYS	EINVAL
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
mount(const char* a, char* b, int c, void* d)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,10 +33,6 @@ NoN(readlink)
 | 
			
		|||
 | 
			
		||||
#include <error.h>
 | 
			
		||||
 | 
			
		||||
#ifndef ENOSYS
 | 
			
		||||
#define ENOSYS	EINVAL
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
readlink(const char* path, char* buf, int siz)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,10 +31,6 @@ NoN(setpgid)
 | 
			
		|||
 | 
			
		||||
#include <error.h>
 | 
			
		||||
 | 
			
		||||
#ifndef ENOSYS
 | 
			
		||||
#define ENOSYS		EINVAL
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if _lib_setpgrp2
 | 
			
		||||
#define setpgrp		setpgrp2
 | 
			
		||||
#else
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -140,10 +140,6 @@ spawnveg(const char* path, char* const argv[], char* const envv[], pid_t pgid)
 | 
			
		|||
#include <ast_tty.h>
 | 
			
		||||
#include <ast_vfork.h>
 | 
			
		||||
 | 
			
		||||
#ifndef ENOSYS
 | 
			
		||||
#define ENOSYS	EINVAL
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if _lib_spawnve && _hdr_process
 | 
			
		||||
#include <process.h>
 | 
			
		||||
#if defined(P_NOWAIT) || defined(_P_NOWAIT)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,10 +33,6 @@ NoN(symlink)
 | 
			
		|||
 | 
			
		||||
#include <error.h>
 | 
			
		||||
 | 
			
		||||
#ifndef ENOSYS
 | 
			
		||||
#define ENOSYS	EINVAL
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
symlink(const char* a, char* b)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,10 +31,6 @@ NoN(vfork)
 | 
			
		|||
 | 
			
		||||
#include <error.h>
 | 
			
		||||
 | 
			
		||||
#ifndef ENOSYS
 | 
			
		||||
#define ENOSYS		EINVAL
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#undef	vfork
 | 
			
		||||
 | 
			
		||||
#if defined(__EXPORT__)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,7 +39,6 @@
 | 
			
		|||
#if !defined(errno) && defined(__DYNAMIC__)
 | 
			
		||||
#define errno		__DYNAMIC__(errno)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define ERROR_debug(n)	(-(n))
 | 
			
		||||
#define ERROR_exit(n)	((n)+ERROR_ERROR)
 | 
			
		||||
#define ERROR_system(n)	(((n)+ERROR_ERROR)|ERROR_SYSTEM)
 | 
			
		||||
| 
						 | 
				
			
			@ -156,6 +155,45 @@ struct Error_info_s			/* error state			*/
 | 
			
		|||
#ifndef errno
 | 
			
		||||
extern int	errno;			/* system call error status	*/
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef E2BIG
 | 
			
		||||
#define E2BIG	ENOMEM
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef EAGAIN
 | 
			
		||||
#define EAGAIN	11
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef EBADF
 | 
			
		||||
#define EBADF	9
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef EBUSY
 | 
			
		||||
#define EBUSY	16
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef EDEADLK
 | 
			
		||||
#define EDEADLK	45
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef EINTR
 | 
			
		||||
#define EINTR	4
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef EILSEQ
 | 
			
		||||
#define EILSEQ	EIO
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef EINVAL
 | 
			
		||||
#define EINVAL	22
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef ENOMEM
 | 
			
		||||
#define ENOMEM	12
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef ENOSYS
 | 
			
		||||
#define ENOSYS	EINVAL
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef EPERM
 | 
			
		||||
#define EPERM	1
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef ERANGE
 | 
			
		||||
#define ERANGE	E2BIG
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef ESPIPE
 | 
			
		||||
#define ESPIPE	29
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if _BLD_ast && defined(__EXPORT__)
 | 
			
		||||
#define extern		extern __EXPORT__
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -92,11 +92,6 @@ typedef int (*Stat_f)(const char*, struct stat*);
 | 
			
		|||
 | 
			
		||||
#include <fts.h>
 | 
			
		||||
 | 
			
		||||
#ifndef ENOSYS
 | 
			
		||||
#define ENOSYS		EINVAL
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if MAXNAMLEN > 16
 | 
			
		||||
#define MINNAME		32
 | 
			
		||||
#else
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -80,10 +80,6 @@ getcwd(char* buf, size_t len)
 | 
			
		|||
#include <ast_dir.h>
 | 
			
		||||
#include <error.h>
 | 
			
		||||
 | 
			
		||||
#ifndef ERANGE
 | 
			
		||||
#define ERANGE		E2BIG
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define ERROR(e)	{ errno = e; goto error; }
 | 
			
		||||
 | 
			
		||||
struct dirlist				/* long path chdir(2) component	*/
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,10 +36,6 @@
 | 
			
		|||
#include <error.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
#ifndef ERANGE
 | 
			
		||||
#define ERANGE		E2BIG
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define ERROR(e)	{errno=e;goto error;}
 | 
			
		||||
 | 
			
		||||
char*
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -301,7 +301,7 @@
 | 
			
		|||
 | 
			
		||||
#include	"FEATURE/float"
 | 
			
		||||
 | 
			
		||||
#include	<errno.h>
 | 
			
		||||
#include	<error.h>
 | 
			
		||||
#include	<ctype.h>
 | 
			
		||||
 | 
			
		||||
/* deal with multi-byte character and string conversions */
 | 
			
		||||
| 
						 | 
				
			
			@ -620,26 +620,6 @@
 | 
			
		|||
 | 
			
		||||
#define SF_FD_CLOEXEC			0x0001
 | 
			
		||||
 | 
			
		||||
/* a couple of error number that we use, default values are like Linux */
 | 
			
		||||
#ifndef EINTR
 | 
			
		||||
#define EINTR	4
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef EBADF
 | 
			
		||||
#define EBADF	9
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef EAGAIN
 | 
			
		||||
#define EAGAIN	11
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef ENOMEM
 | 
			
		||||
#define ENOMEM	12
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef EINVAL
 | 
			
		||||
#define EINVAL	22
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef ESPIPE
 | 
			
		||||
#define ESPIPE	29
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* function to get the decimal point for local environment */
 | 
			
		||||
#if !defined(SFSETLOCALE) && _PACKAGE_ast
 | 
			
		||||
#include "lclib.h"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,7 +32,7 @@
 | 
			
		|||
*/
 | 
			
		||||
 | 
			
		||||
#include	<ast_common.h>
 | 
			
		||||
#include	<errno.h>
 | 
			
		||||
#include	<error.h>
 | 
			
		||||
 | 
			
		||||
/* ast doesn't do threads yet */
 | 
			
		||||
#if _PACKAGE_ast && !defined(vt_threaded)
 | 
			
		||||
| 
						 | 
				
			
			@ -90,19 +90,6 @@ typedef struct _vtmutex_s	Vtmutex_t;
 | 
			
		|||
typedef struct _vtonce_s	Vtonce_t;
 | 
			
		||||
typedef struct _vthread_s	Vthread_t;
 | 
			
		||||
 | 
			
		||||
#ifndef EINVAL
 | 
			
		||||
#define EINVAL			22
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef EBUSY
 | 
			
		||||
#define EBUSY			16
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef EDEADLK
 | 
			
		||||
#define EDEADLK			45
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef EPERM
 | 
			
		||||
#define EPERM			1
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
_BEGIN_EXTERNS_
 | 
			
		||||
 | 
			
		||||
extern Vthread_t*	vtopen _ARG_((Vthread_t*, int));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -85,6 +85,7 @@
 | 
			
		|||
 | 
			
		||||
#include <ast.h>
 | 
			
		||||
#include <ctype.h>
 | 
			
		||||
#include <error.h>
 | 
			
		||||
 | 
			
		||||
#include "sfhdr.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -92,10 +93,6 @@
 | 
			
		|||
#define const
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef ERANGE
 | 
			
		||||
#define ERANGE		EINVAL
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define QL		01
 | 
			
		||||
#define QU		02
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -109,10 +109,6 @@ __STDPP__directive pragma pp:hide lchown
 | 
			
		|||
#include <ctype.h>
 | 
			
		||||
#include <fts_fix.h>
 | 
			
		||||
 | 
			
		||||
#ifndef ENOSYS
 | 
			
		||||
#define ENOSYS	EINVAL
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include "FEATURE/symlink"
 | 
			
		||||
 | 
			
		||||
#if defined(__STDPP__directive) && defined(__STDPP__hide)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -137,10 +137,6 @@ __STDPP__directive pragma pp:hide lchmod
 | 
			
		|||
#include <ls.h>
 | 
			
		||||
#include <fts_fix.h>
 | 
			
		||||
 | 
			
		||||
#ifndef ENOSYS
 | 
			
		||||
#define ENOSYS	EINVAL
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include "FEATURE/symlink"
 | 
			
		||||
 | 
			
		||||
#if defined(__STDPP__directive) && defined(__STDPP__hide)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -207,10 +207,6 @@ typedef struct Fmt
 | 
			
		|||
	char*		format;
 | 
			
		||||
} Fmt_t;
 | 
			
		||||
 | 
			
		||||
#ifndef ENOSYS
 | 
			
		||||
#define ENOSYS		EINVAL
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * set the system clock
 | 
			
		||||
 * the standards wimped out here
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue