aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2013-08-29 12:06:14 +0200
committerThomas Schwinge <thomas@codesourcery.com>2013-08-29 12:22:30 +0200
commit883359805325a82f4f291ff85624f141f6c93636 (patch)
tree8e263430aeaf929600d2e734b159f8686ae97c70 /sysdeps
parented479b02c2b04291d07708baf50bc6d2929f8b94 (diff)
downloadglibc-883359805325a82f4f291ff85624f141f6c93636.zip
glibc-883359805325a82f4f291ff85624f141f6c93636.tar.gz
glibc-883359805325a82f4f291ff85624f141f6c93636.tar.bz2
Hurd: Add ESUCCESS error_t value.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/mach/hurd/bits/errno.h10
-rw-r--r--sysdeps/mach/hurd/errnos.awk8
2 files changed, 17 insertions, 1 deletions
diff --git a/sysdeps/mach/hurd/bits/errno.h b/sysdeps/mach/hurd/bits/errno.h
index 3b6fe76..d20ffe6 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 35f5628..2434daa 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 = "";