main: Fix parse_image_arg, check if arg is file

This commit is contained in:
Pali Rohár committed 2012-08-11 18:16:29 +02:00
1 parent 0e687beed3
commit ab07fec919
1 file changed
+12
+12
View File
@@ -156,6 +156,7 @@ int verbose;
/* arg = [[[dev:[hw:]]ver:]type:]file[%%lay] */
static void parse_image_arg(char * arg, struct image_list ** image_first) {
struct stat st;
struct image * image;
char * file;
char * type;
@@ -165,6 +166,17 @@ static void parse_image_arg(char * arg, struct image_list ** image_first) {
char * layout;
char * layout_file;
/* Fisrt check if arg is file, then try to parse arg format */
if ( stat(arg, &st) == 0 ) {
image = image_alloc_from_file(arg, NULL, NULL, NULL, NULL, NULL);
if ( ! image ) {
ERROR("Cannot load image file %s", file);
exit(1);
}
image_list_add(image_first, image);
return;
}
layout_file = strchr(arg, '%');
if (layout_file)
*(layout_file++) = 0;