X-Git-Url: https://git.saurik.com/apple/libc.git/blobdiff_plain/28300737d9bfa684aac372729e0148b22c4ded2b..e1ee4b85c2dcd2825b98e4d31d829e56ae31f66a:/libdarwin/string.c diff --git a/libdarwin/string.c b/libdarwin/string.c index 7dbf105..79208e4 100644 --- a/libdarwin/string.c +++ b/libdarwin/string.c @@ -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; }