strerror() no longer reports "Unknown Application Error" for positive values,
instead it now says "No Error". git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12885 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -464,23 +464,26 @@ char *
|
|||||||
strerror(int error)
|
strerror(int error)
|
||||||
{
|
{
|
||||||
static char unknown[48];
|
static char unknown[48];
|
||||||
const char *system;
|
|
||||||
uint32 i;
|
uint32 i;
|
||||||
|
|
||||||
char *description = error_description(error);
|
char *description = error_description(error);
|
||||||
if (description != NULL)
|
if (description != NULL)
|
||||||
return description;
|
return description;
|
||||||
|
|
||||||
system = "";
|
if (error < B_OK) {
|
||||||
for (i = 0; i < kNumErrorBases; i++) {
|
const char *system = "";
|
||||||
if (kErrorBases[i].base <= error
|
for (i = 0; i < kNumErrorBases; i++) {
|
||||||
&& ((i + 1 < kNumErrorBases && kErrorBases[i + 1].base > error)
|
if (kErrorBases[i].base <= error
|
||||||
|| i + 1 == kNumErrorBases)) {
|
&& ((i + 1 < kNumErrorBases && kErrorBases[i + 1].base > error)
|
||||||
system = kErrorBases[i].name;
|
|| i + 1 == kNumErrorBases)) {
|
||||||
break;
|
system = kErrorBases[i].name;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
sprintf(unknown, "Unknown %sError (%d)", system, error);
|
||||||
sprintf(unknown, "Unknown %sError (%d)", system, error);
|
} else
|
||||||
|
sprintf(unknown, "No Error (%ld)", error);
|
||||||
|
|
||||||
return unknown;
|
return unknown;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user