diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/util/et/error_message.c | 18 | ||||
| -rw-r--r-- | src/util/et/error_table.h | 4 |
2 files changed, 20 insertions, 2 deletions
diff --git a/src/util/et/error_message.c b/src/util/et/error_message.c index 7d03d34e0..b4a0537cf 100644 --- a/src/util/et/error_message.c +++ b/src/util/et/error_message.c @@ -27,12 +27,16 @@ #include "com_err.h" #include "error_table.h" +#ifdef macintosh +#include <ErrorLib.h> +#endif + #if defined(_MSDOS) || defined(_WIN32) #define HAVE_STRERROR #endif #ifdef macintosh -#define sys_nerr 100 +#define sys_nerr 100 /* XXX - What is this? */ #endif #if !defined(HAVE_STRERROR) && !defined(SYS_ERRLIST_DECLARED) @@ -143,8 +147,18 @@ KRB5_DLLIMP const char FAR * KRB5_CALLCONV error_message(code) } } #endif - + oops: + +#if defined(macintosh) + { + /* This may be a Mac OS Toolbox error or an MIT Support Library Error. Ask ErrorLib */ + if (GetErrorLongString(code, buffer, ET_EBUFSIZ - 1) == noErr) { + return buffer; + } + } +#endif + cp = buffer; strcpy(cp, "Unknown code "); cp += sizeof("Unknown code ") - 1; diff --git a/src/util/et/error_table.h b/src/util/et/error_table.h index 02c8d4a4e..2bc907651 100644 --- a/src/util/et/error_table.h +++ b/src/util/et/error_table.h @@ -9,7 +9,11 @@ #include <errno.h> +#if defined(macintosh) +#define ET_EBUFSIZ 256 +#else #define ET_EBUFSIZ 64 +#endif struct et_list { struct et_list *next; |
