1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-02-13 11:42:21 +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:
Martijn Dekker 2021-03-22 00:48:28 +00:00
parent 814b5c6890
commit 71bfe0283d
22 changed files with 47 additions and 112 deletions

View file

@ -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

View file

@ -31,10 +31,6 @@ NoN(fsync)
#include <error.h>
#ifndef ENOSYS
#define ENOSYS EINVAL
#endif
int
fsync(int fd)
{

View file

@ -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); } \

View file

@ -31,10 +31,6 @@ NoN(link)
#include <error.h>
#ifndef ENOSYS
#define ENOSYS EINVAL
#endif
int
link(const char* from, const char* to)
{

View file

@ -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)
{

View file

@ -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)
{

View file

@ -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)
{

View file

@ -33,10 +33,6 @@ NoN(readlink)
#include <error.h>
#ifndef ENOSYS
#define ENOSYS EINVAL
#endif
int
readlink(const char* path, char* buf, int siz)
{

View file

@ -31,10 +31,6 @@ NoN(setpgid)
#include <error.h>
#ifndef ENOSYS
#define ENOSYS EINVAL
#endif
#if _lib_setpgrp2
#define setpgrp setpgrp2
#else

View file

@ -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)

View file

@ -33,10 +33,6 @@ NoN(symlink)
#include <error.h>
#ifndef ENOSYS
#define ENOSYS EINVAL
#endif
int
symlink(const char* a, char* b)
{

View file

@ -31,10 +31,6 @@ NoN(vfork)
#include <error.h>
#ifndef ENOSYS
#define ENOSYS EINVAL
#endif
#undef vfork
#if defined(__EXPORT__)

View file

@ -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__

View file

@ -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

View file

@ -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 */

View file

@ -36,10 +36,6 @@
#include <error.h>
#include <stdio.h>
#ifndef ERANGE
#define ERANGE E2BIG
#endif
#define ERROR(e) {errno=e;goto error;}
char*

View file

@ -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"

View file

@ -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));

View file

@ -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

View file

@ -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)

View file

@ -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)

View file

@ -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