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)
|
if(argc < 2)
|
||||||
{
|
{
|
||||||
printf("usage: listattr 'filename' ['filename' ...]\n");
|
printf("usage: listattr 'filename' ['filename' ...]\n");
|
||||||
return 0;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 1; i < argc; ++i)
|
for(int i = 1; i < argc; ++i)
|
||||||
@@ -37,6 +37,12 @@ int main(int argc, char *argv[])
|
|||||||
case 0x4d494d53:
|
case 0x4d494d53:
|
||||||
printf(" MIME str");
|
printf(" MIME str");
|
||||||
break;
|
break;
|
||||||
|
case 0x43535452:
|
||||||
|
printf(" Text");
|
||||||
|
break;
|
||||||
|
case 0x4c4f4e47:
|
||||||
|
printf(" Int-32");
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
printf("0x%lx", attrInfo.type);
|
printf("0x%lx", attrInfo.type);
|
||||||
break;
|
break;
|
||||||
|
|||||||
+18
-10
@@ -1,6 +1,6 @@
|
|||||||
// Author: Ryan Fleet
|
// Author: Ryan Fleet
|
||||||
// Created: 9th October 2002
|
// Created: 9th October 2002
|
||||||
// Modified: 10th October 2002
|
// Modified: 14th October 2002
|
||||||
|
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
#include <cstring>
|
#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);
|
BFile file(filename, O_RDONLY);
|
||||||
if(file.InitCheck() != B_OK)
|
if(file.InitCheck() != B_OK)
|
||||||
{
|
{
|
||||||
printf("Couldn't get file info!\n");
|
printf("Couldn't get file info!\n");
|
||||||
return;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
BAppFileInfo info(&file);
|
BAppFileInfo info(&file);
|
||||||
if(info.InitCheck() != B_OK)
|
if(info.InitCheck() != B_OK)
|
||||||
{
|
{
|
||||||
printf("Couldn't get file info!\n");
|
printf("Couldn't get file info!\n");
|
||||||
return;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
version_info version;
|
version_info version;
|
||||||
if(info.GetVersionInfo(&version, kind) != B_OK)
|
if(info.GetVersionInfo(&version, kind) != B_OK)
|
||||||
{
|
{
|
||||||
printf("Version unknown!\n");
|
printf("Version unknown!\n");
|
||||||
return;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(true == bLongFlag)
|
if(true == bLongFlag)
|
||||||
{
|
{
|
||||||
printf("%s\n", version.long_info);
|
printf("%s\n", version.long_info);
|
||||||
return;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(true == bNumericalFlag)
|
if(true == bNumericalFlag)
|
||||||
@@ -64,10 +64,12 @@ void getversion(const char *filename, version_kind kind, bool bLongFlag, bool bN
|
|||||||
case 5: printf("f "); break;
|
case 5: printf("f "); break;
|
||||||
};
|
};
|
||||||
printf("%lu\n", version.internal);
|
printf("%lu\n", version.internal);
|
||||||
return;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("%s\n", version.short_info);
|
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)
|
for(i = 1; i < argc; ++i)
|
||||||
{
|
{
|
||||||
if(strncmp(argv[i], "-", 1) != 0)
|
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