mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-27 23:22:37 +02:00
Check for duplicate -i arguments
And a tiny cleanup. Corresponding to flashrom svn r1523. Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
This commit is contained in:
parent
f5a30f65ad
commit
23bb6d579f
34
layout.c
34
layout.c
@ -201,6 +201,17 @@ int read_romlayout(char *name)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* returns the index of the entry (or a negative value if it is not found) */
|
||||||
|
int find_include_arg(const char *const name)
|
||||||
|
{
|
||||||
|
unsigned int i;
|
||||||
|
for (i = 0; i < num_include_args; i++) {
|
||||||
|
if (!strcmp(include_args[i], name))
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
/* register an include argument (-i) for later processing */
|
/* register an include argument (-i) for later processing */
|
||||||
int register_include_arg(char *name)
|
int register_include_arg(char *name)
|
||||||
{
|
{
|
||||||
@ -214,6 +225,11 @@ int register_include_arg(char *name)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (find_include_arg(name) != -1) {
|
||||||
|
msg_gerr("Duplicate region name: \"%s\".\n", name);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
include_args[num_include_args] = name;
|
include_args[num_include_args] = name;
|
||||||
num_include_args++;
|
num_include_args++;
|
||||||
return 0;
|
return 0;
|
||||||
@ -250,17 +266,17 @@ int process_include_args(void)
|
|||||||
if (num_include_args == 0)
|
if (num_include_args == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
for (i = 0; i < num_include_args; i++) {
|
/* User has specified an area, but no layout file is loaded. */
|
||||||
/* User has specified an area, but no layout file is loaded. */
|
if (!romimages) {
|
||||||
if (!romimages) {
|
msg_gerr("Region requested (with -i \"%s\"), "
|
||||||
msg_gerr("Region requested (with -i \"%s\"), "
|
"but no layout data is available.\n",
|
||||||
"but no layout data is available.\n",
|
include_args[0]);
|
||||||
include_args[i]);
|
return 1;
|
||||||
return 1;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
for (i = 0; i < num_include_args; i++) {
|
||||||
if (find_romentry(include_args[i]) < 0) {
|
if (find_romentry(include_args[i]) < 0) {
|
||||||
msg_gerr("Invalid region specified: \"%s\"\n",
|
msg_gerr("Invalid region specified: \"%s\".\n",
|
||||||
include_args[i]);
|
include_args[i]);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user