diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/mach/hurd/bits/errno.h | 10 | ||||
-rw-r--r-- | sysdeps/mach/hurd/errnos.awk | 8 |
2 files changed, 17 insertions, 1 deletions
diff --git a/sysdeps/mach/hurd/bits/errno.h b/sysdeps/mach/hurd/bits/errno.h index 3b6fe76b37..d20ffe654a 100644 --- a/sysdeps/mach/hurd/bits/errno.h +++ b/sysdeps/mach/hurd/bits/errno.h @@ -9,6 +9,14 @@ enum __error_t_codes { + /* The value zero always means success and it is perfectly fine for + code to use 0 explicitly (or implicitly, e.g. via Boolean coercion). + Having an enum entry for zero both makes the debugger print the name + for error_t-typed zero values, and prevents the compiler from + issuing warnings about 'case 0:' in a switch on an error_t-typed + value. */ + ESUCCESS = 0, + #undef EDOM #undef ERANGE EPERM = _HURD_ERRNO (1), @@ -151,7 +159,7 @@ enum __error_t_codes EDQUOT = _HURD_ERRNO (69), #define EDQUOT _HURD_ERRNO (69)/* Disk quota exceeded */ ESTALE = _HURD_ERRNO (70), -#define ESTALE _HURD_ERRNO (70)/* Stale NFS file handle */ +#define ESTALE _HURD_ERRNO (70)/* Stale file handle */ EREMOTE = _HURD_ERRNO (71), #define EREMOTE _HURD_ERRNO (71)/* Object is remote */ EBADRPC = _HURD_ERRNO (72), diff --git a/sysdeps/mach/hurd/errnos.awk b/sysdeps/mach/hurd/errnos.awk index 35f5628b8e..2434daab22 100644 --- a/sysdeps/mach/hurd/errnos.awk +++ b/sysdeps/mach/hurd/errnos.awk @@ -31,6 +31,14 @@ BEGIN { print ""; print "#ifdef _ERRNO_H\n"; print "enum __error_t_codes\n{"; + print "\t/* The value zero always means success and it is perfectly fine for"; + print "\t code to use 0 explicitly (or implicitly, e.g. via Boolean coercion)."; + print "\t Having an enum entry for zero both makes the debugger print the name"; + print "\t for error_t-typed zero values, and prevents the compiler from"; + print "\t issuing warnings about 'case 0:' in a switch on an error_t-typed"; + print "\t value. */"; + print "\tESUCCESS = 0," + print ""; errnoh = 0; maxerrno = 0; in_mach_errors = ""; |