summaryrefslogtreecommitdiff
path: root/EmbeddedPkg/Ebl/Main.c
diff options
context:
space:
mode:
authorandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2011-02-01 05:37:22 +0000
committerandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2011-02-01 05:37:22 +0000
commitfb334ef6c543b1babc9d8a613ad5d1ce6fe536e1 (patch)
tree50dd2943c02eba26b158b1734d3d0d6d4bf85f36 /EmbeddedPkg/Ebl/Main.c
parent4c8a6e069c908c65b60ee5b89db6cc3c5981f9a1 (diff)
downloadedk2-platforms-fb334ef6c543b1babc9d8a613ad5d1ce6fe536e1.tar.xz
Fix EBL GetCurrentIpAddress & GetCurrentMacAddress commands. Add variable services commands. Fix arugment parsing in EBL. All fixes from ARM Ltd.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11290 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'EmbeddedPkg/Ebl/Main.c')
-rw-r--r--EmbeddedPkg/Ebl/Main.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/EmbeddedPkg/Ebl/Main.c b/EmbeddedPkg/Ebl/Main.c
index 98097e4be1..8f6f4ea9e1 100644
--- a/EmbeddedPkg/Ebl/Main.c
+++ b/EmbeddedPkg/Ebl/Main.c
@@ -187,7 +187,7 @@ ParseArguments (
break;
}
- // Perform any text coversion here
+ // Perform any text conversion here
if (*Char == '\t') {
// TAB to space
*Char = ' ';
@@ -205,9 +205,14 @@ ParseArguments (
}
} else {
// Looking for the terminator of an Argv[] entry
- if ((InQuote && (*Char == '"')) || (!InQuote && (*Char == ' '))) {
+ if (!InQuote && (*Char == ' ')) {
*Char = '\0';
LookingForArg = TRUE;
+ } else if (!InQuote && (*Char == '"') && (*(Char-1) != '\\')) {
+ InQuote = TRUE;
+ } else if (InQuote && (*Char == '"') && (*(Char-1) != '\\')) {
+ *Char = '\0';
+ InQuote = FALSE;
}
}
}
@@ -597,6 +602,7 @@ EdkBootLoaderEntry (
EblInitializeScriptCmd ();
EblInitializeExternalCmd ();
EblInitializeNetworkCmd();
+ EblInitializeVariableCmds ();
// Disable the 5 minute EFI watchdog time so we don't get automatically reset
gBS->SetWatchdogTimer (0, 0, 0, NULL);