[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH] strerror
+ strerror gibt jetzt nicht mehr "Unbekannter Fehler" zurück, sondern die zu
errno gehörenden Fehlermeldungen
Signed-off-by: Arne Hasselbring <arne.hasselbring@xxxxxxxxxxxxxx>
---
src/modules/lib/posix/strerror.c | 67 +++++++++++++++++++++++++++++++++++--
1 files changed, 63 insertions(+), 4 deletions(-)
diff --git a/src/modules/lib/posix/strerror.c b/src/modules/lib/posix/strerror.c
index e08f3e0..ac3d84e 100644
--- a/src/modules/lib/posix/strerror.c
+++ b/src/modules/lib/posix/strerror.c
@@ -38,11 +38,70 @@
*
* @return Pointer auf internen Buffer mit Fehlermeldung
*/
+
+char *errno_messages[51] = {
+ "Result too large.",
+ "Invalid argument.",
+ "Not enough space.",
+ "Interrupted function.",
+ "No such file or directory.",
+ "File exists.",
+ "Bad file descriptor.",
+ "Operation not permitted.",
+ "I/O error.",
+ "Cross-device link.",
+ "Bad address.",
+ "Argument list too long."
+ "Not a directory.",
+ "Permission denied.",
+ "Too many open files.",
+ "Executable file format error.",
+ "No child processes.",
+ "Resource unavailable, try again.",
+ "Too many files open in system.",
+ "Is a directory.",
+ "No such device.",
+ "Inappropriate I/O control operation.",
+ "Mathematics argument out of domain of function.",
+ "No such device or address.",
+ "No such process.",
+ "Broken pipe.",
+ "Illegal byte sequence.",
+
+
+ "Address family not supported.",
+ "Connection timed out.",
+ "Protocol wrong type for socket.",
+ "Connection refused.",
+ "The socket is not connected.",
+ "Connection reset.",
+ "Operation in progress.",
+ "Connection already in progress.",
+ "Socket is connected.",
+
+
+ "Operation not supported on socket.",
+ "Read-only file system.",
+ "No space left on device.",
+ "Device or resource busy.",
+ "Value too large to be stored in data type.",
+ "File too large.",
+ "Resource deadlock would occur.",
+ "Address not available.",
+ "Function not supported.",
+ "Filename too long.",
+ "Invalid seek.",
+ "Too many links.",
+ "Directory not empty.",
+
+
+ "Host is unreachable.",
+ "Message too large.",
+ "Protocol error.",
+};
+
char* strerror(int error_code)
{
- static char error_message[64];
- snprintf(error_message, sizeof(error_message),
- "Unbekannter Fehler %d", error_code);
- return error_message;
+ return errno_messages[error_code - 1];
}
--
1.7.1