[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