]> git.saurik.com Git - apple/libc.git/blobdiff - libdarwin/string.c
Libc-1353.60.8.tar.gz
[apple/libc.git] / libdarwin / string.c
index 7dbf10507755270f9f9a08b3bd96310cd0a22fdc..79208e4218310852e9a53ba36a25e99c9fd74827 100644 (file)
@@ -71,6 +71,14 @@ typedef struct _errno_desc {
        }
 
 #pragma mark Top-Level Statics
+static const errno_desc_t _zero = {
+       .ed_error = 0,
+       .ed_sysexit = 0,
+       .ed_flags = 0,
+       .ed_sym = "0",
+       .ed_str = "successful termination",
+};
+
 static const errno_desc_t _negative_one = {
        .ed_error = __ENEG_ONE,
        .ed_sysexit = EXIT_FAILURE,
@@ -306,6 +314,10 @@ _find_error(int code)
 static const errno_desc_t *
 _find_sysexit(int code)
 {
+       if (code == 0) {
+               return &_zero;
+       }
+
        if (code == EX_BADRECEIPT_NP) {
                return &_badreceipt;
        }
@@ -352,10 +364,17 @@ strerror_np(int code)
        return _find_error(code)->ed_str;
 }
 
+const char *
+strexit_np(int code)
+{
+       const errno_desc_t *de = _find_sysexit(code);
+       return de->ed_str;
+}
+
 const char *
 symerror_np(int code)
 {
-       const errno_desc_t *de = _find_error(code);;
+       const errno_desc_t *de = _find_error(code);
        return de->ed_sym;
 }