diff --git a/library/include/errno.h b/library/include/errno.h index 07a40c1..3fdaffa 100644 --- a/library/include/errno.h +++ b/library/include/errno.h @@ -166,6 +166,8 @@ extern int errno; #define EILSEQ 85 /* Encoding error detected */ +#define ENOTSUP 86 /* Not supported */ + /****************************************************************************/ #ifdef __cplusplus diff --git a/library/string_strerror_r.c b/library/string_strerror_r.c index 48c5e39..885544f 100644 --- a/library/string_strerror_r.c +++ b/library/string_strerror_r.c @@ -41,7 +41,7 @@ /****************************************************************************/ -static const char * error_table[EILSEQ - EPERM + 1] = +static const char * error_table[ENOTSUP - EPERM + 1] = { "Operation not permitted", "No such file or directory", @@ -127,7 +127,8 @@ static const char * error_table[EILSEQ - EPERM + 1] = "Identifier removed", "No message of the desired type.", "Value too large to be stored in data type.", - "Encoding error detected" + "Encoding error detected", + "Not supported" }; /****************************************************************************/ @@ -139,7 +140,7 @@ strerror_r(int number,char * buffer,size_t buffer_size) const char * str; size_t len; - if(number < EPERM || number > EILSEQ) + if(number < EPERM || number > ENOTSUP) { __set_errno(EINVAL); goto out;