Added messages for some of the most common errors
authorMichael Brown <mcb30@etherboot.org>
Wed, 20 Dec 2006 03:54:20 +0000 (03:54 +0000)
committerMichael Brown <mcb30@etherboot.org>
Wed, 20 Dec 2006 03:54:20 +0000 (03:54 +0000)
src/hci/strerror.c

index 10344f5..8ed5d27 100644 (file)
@@ -38,6 +38,10 @@ const char * strerror ( int errno ) {
        static char *generic_message = "Error 0x0000";
        struct errortab *errortab;
 
+       /* Allow for strerror(rc) as well as strerror(errno) */
+       if ( errno < 0 )
+               errno = -errno;
+
        for ( errortab = errortab_start ; errortab < errortab_end ;
              errortab++ ) {
                if ( errortab->errno == errno )
@@ -47,3 +51,10 @@ const char * strerror ( int errno ) {
        sprintf ( generic_message + 8, "%hx", errno );
        return generic_message;
 }
+
+/** The most common errors */
+struct errortab common_errortab[] __errortab = {
+       { ENOMEM, "Out of memory" },
+       { EINVAL, "Invalid argument" },
+       { ENOSPC, "No space left on device" },
+};