Better error handling, fix from Ryan Fleet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1520 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -11,7 +11,7 @@ int main(int argc, char *argv[])
|
||||
if(argc < 2)
|
||||
{
|
||||
printf("usage: listattr 'filename' ['filename' ...]\n");
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
for(int i = 1; i < argc; ++i)
|
||||
@@ -37,6 +37,12 @@ int main(int argc, char *argv[])
|
||||
case 0x4d494d53:
|
||||
printf(" MIME str");
|
||||
break;
|
||||
case 0x43535452:
|
||||
printf(" Text");
|
||||
break;
|
||||
case 0x4c4f4e47:
|
||||
printf(" Int-32");
|
||||
break;
|
||||
default:
|
||||
printf("0x%lx", attrInfo.type);
|
||||
break;
|
||||
|
||||
+18
-10
@@ -1,6 +1,6 @@
|
||||
// Author: Ryan Fleet
|
||||
// Created: 9th October 2002
|
||||
// Modified: 10th October 2002
|
||||
// Modified: 14th October 2002
|
||||
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
@@ -20,33 +20,33 @@ void help(void)
|
||||
}
|
||||
|
||||
|
||||
void getversion(const char *filename, version_kind kind, bool bLongFlag, bool bNumericalFlag)
|
||||
int getversion(const char *filename, version_kind kind, bool bLongFlag, bool bNumericalFlag)
|
||||
{
|
||||
BFile file(filename, O_RDONLY);
|
||||
if(file.InitCheck() != B_OK)
|
||||
{
|
||||
printf("Couldn't get file info!\n");
|
||||
return;
|
||||
return 1;
|
||||
}
|
||||
|
||||
BAppFileInfo info(&file);
|
||||
if(info.InitCheck() != B_OK)
|
||||
{
|
||||
printf("Couldn't get file info!\n");
|
||||
return;
|
||||
return 1;
|
||||
}
|
||||
|
||||
version_info version;
|
||||
if(info.GetVersionInfo(&version, kind) != B_OK)
|
||||
{
|
||||
printf("Version unknown!\n");
|
||||
return;
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(true == bLongFlag)
|
||||
{
|
||||
printf("%s\n", version.long_info);
|
||||
return;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(true == bNumericalFlag)
|
||||
@@ -64,10 +64,12 @@ void getversion(const char *filename, version_kind kind, bool bLongFlag, bool bN
|
||||
case 5: printf("f "); break;
|
||||
};
|
||||
printf("%lu\n", version.internal);
|
||||
return;
|
||||
return 0;
|
||||
}
|
||||
|
||||
printf("%s\n", version.short_info);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -182,12 +184,18 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int status = 0;
|
||||
int retval = 0;
|
||||
for(i = 1; i < argc; ++i)
|
||||
{
|
||||
if(strncmp(argv[i], "-", 1) != 0)
|
||||
getversion(argv[i], kind, bLongFlag, bNumericalFlag);
|
||||
{
|
||||
status = getversion(argv[i], kind, bLongFlag, bNumericalFlag);
|
||||
if(status != 0)
|
||||
retval = 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return retval;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user