Add deferred --image processing
The general idea and most of the code are based on the following
commits in the chromiumos flashrom tree:
Corresponding to flashrom svn r1482.
8fc0740356ca15d02fb1c65ab43b10844f148c3b
bb9049c66ca55e0dc621dd2c70b5d2cb6e5179bf
Signed-off-by: Louis Yung-Chieh Lo <yjlou@chromium.org>
and the main part:
d0ea9ed71e7f86bb8e8db2ca7c32a96de25343d8
Signed-off-by: David Hendricks <dhendrix@chromium.org>
This implementation does not defer the processing until doit(), but after the
argument parsing loop only (doit() should not contain argument checks).
This allows to specify -i and -l parameters in any order.
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: David Hendricks <dhendrix@google.com>
diff --git a/cli_classic.c b/cli_classic.c
index a931de8..3928ded 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -295,14 +295,9 @@
cli_classic_abort_usage();
break;
case 'i':
- /* FIXME: -l has to be specified before -i. */
tempstr = strdup(optarg);
- if (find_romentry(tempstr) < 0) {
- fprintf(stderr, "Error: image %s not found in "
- "layout file or -i specified before "
- "-l\n", tempstr);
+ if (register_include_arg(tempstr))
cli_classic_abort_usage();
- }
break;
case 'L':
if (++operation_specified > 1) {
@@ -395,6 +390,9 @@
cli_classic_abort_usage();
}
+ if (process_include_args())
+ cli_classic_abort_usage();
+
/* FIXME: Print the actions flashrom will take. */
if (list_supported) {