From bbe94d7ab3cc7d0a3c3f00ef7aa1fc019baf09d5 Mon Sep 17 00:00:00 2001 From: Tapan Shah Date: Fri, 29 Aug 2014 20:34:34 +0000 Subject: [PATCH] =?utf8?q?Add=20CTRL+C=20support=20for=20=E2=80=98devtree?= =?utf8?q?=E2=80=99=20command.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Tapan Shah Reviewed-By: Jaben Carsey git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15993 6f19259b-4bc3-4df7-8a09-765794883524 --- ShellPkg/Library/UefiShellDriver1CommandsLib/DevTree.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ShellPkg/Library/UefiShellDriver1CommandsLib/DevTree.c b/ShellPkg/Library/UefiShellDriver1CommandsLib/DevTree.c index 1548770379..d950c8d6c5 100644 --- a/ShellPkg/Library/UefiShellDriver1CommandsLib/DevTree.c +++ b/ShellPkg/Library/UefiShellDriver1CommandsLib/DevTree.c @@ -1,6 +1,7 @@ /** @file Main file for DevTree shell Driver1 function. + Copyright (c) 2014, Hewlett-Packard Development Company, L.P.
Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -57,6 +58,12 @@ DoDevTreeForHandle( ChildCount = 0; ASSERT(TheHandle != NULL); + + if (ShellGetExecutionBreakFlag()) { + ShellStatus = SHELL_ABORTED; + return ShellStatus; + } + // // We want controller handles. they will not have LoadedImage or DriverBinding (or others...) // @@ -119,6 +126,9 @@ DoDevTreeForHandle( ParseHandleDatabaseForChildControllers(TheHandle, &ChildCount, &ChildHandleBuffer); for (LoopVar = 0 ; LoopVar < ChildCount && ShellStatus == SHELL_SUCCESS; LoopVar++){ ShellStatus = DoDevTreeForHandle(ChildHandleBuffer[LoopVar], Lang, UseDevPaths, IndentCharCount+2, HiiString); + if (ShellStatus == SHELL_ABORTED) { + break; + } } if (ChildHandleBuffer != NULL) { -- 2.39.2