util/genprof: improve handling of command line arguments

Accept only one command line argument (the input file name); close input
stream both on error and on success; print more informative error messages
when files could not be opened.

Change-Id: Ib2f0622a332317d7a13f33f1e5787381804c43a9
Found-by: missing fclose()'s found by Cppcheck 1.65
Signed-off-by: Daniele Forsi <dforsi@gmail.com>
Reviewed-on: http://review.coreboot.org/6573
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
Daniele Forsi 2014-08-03 13:47:58 +02:00 committed by Patrick Georgi
parent 21fbc08d4b
commit ea70a5068f
1 changed files with 11 additions and 5 deletions

View File

@ -46,17 +46,21 @@ int main(int argc, char* argv[])
uint8_t tag;
uint16_t hit;
if ( argc < 2 )
{
if (argc != 2) {
fprintf(stderr, "Please specify the coreboot trace log as parameter\n");
return 1;
}
f = fopen(argv[1], "r");
fo = fopen("gmon.out", "w+");
if (f == NULL) {
perror("Unable to open the input file");
return 1;
}
if ((f == NULL) || (fo == NULL)) {
fprintf(stderr, "Unable to manipulate with the input file\n");
fo = fopen("gmon.out", "w+");
if (fo == NULL) {
perror("Unable to open the output file");
fclose(f);
return 1;
}
@ -104,5 +108,7 @@ int main(int argc, char* argv[])
}
fclose(fo);
fclose(f);
return 0;
}