From nobody Thu May 2 11:45:15 2024 Delivered-To: importer@patchew.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Authentication-Results: mx.zoho.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org; Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1494882176317103.71350460737438; Mon, 15 May 2017 14:02:56 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id E3E9821A134A6; Mon, 15 May 2017 14:02:53 -0700 (PDT) Received: from mx0b-00010702.pphosted.com (mx0a-00010702.pphosted.com [148.163.156.75]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 437A521A1349E for ; Mon, 15 May 2017 14:02:52 -0700 (PDT) Received: from pps.filterd (m0098781.ppops.net [127.0.0.1]) by mx0a-00010702.pphosted.com (8.16.0.20/8.16.0.20) with SMTP id v4FL1LBq004395; Mon, 15 May 2017 16:02:50 -0500 Received: from ni.com (skprod2.natinst.com [130.164.80.23]) by mx0a-00010702.pphosted.com with ESMTP id 2aegd0ee9g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 15 May 2017 16:02:50 -0500 Received: from us-aus-exhub2.ni.corp.natinst.com (us-aus-exhub2.ni.corp.natinst.com [130.164.68.32]) by us-aus-skprod2.natinst.com (8.16.0.17/8.16.0.17) with ESMTPS id v4FL2mwo029468 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Mon, 15 May 2017 16:02:48 -0500 Received: from us-aus-exhub1.ni.corp.natinst.com (130.164.68.41) by us-aus-exhub2.ni.corp.natinst.com (130.164.68.32) with Microsoft SMTP Server (TLS) id 15.0.1156.6; Mon, 15 May 2017 16:01:57 -0500 Received: from jmw-lm181.ni.corp.natinst.com (130.164.49.7) by us-aus-exhub1.ni.corp.natinst.com (130.164.68.41) with Microsoft SMTP Server id 15.0.1156.6 via Frontend Transport; Mon, 15 May 2017 16:01:56 -0500 X-Original-To: edk2-devel@lists.01.org From: Jeff Westfahl To: Date: Mon, 15 May 2017 16:01:53 -0500 Message-ID: <1494882113-19051-1-git-send-email-jeff.westfahl@ni.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-05-15_11:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=30 priorityscore=1501 malwarescore=0 suspectscore=4 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=30 reason=mlx scancount=1 engine=8.0.1-1703280000 definitions=main-1705150199 Subject: [edk2] [PATCH] ShellPkg/Touch: Create file if it doesn't exist X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ruiyu Ni , Jaben Carsey Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The UEFI Shell touch command returns an error if a file to be touched doesn't exist. In other command line operating environments, the touch command typically creates a file if it doesn't exist. This patch updates the UEFI Shell touch command to follow this convention. Cc: Ruiyu Ni Cc: Jaben Carsey Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Westfahl --- ShellPkg/Library/UefiShellLevel3CommandsLib/Touch.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/ShellPkg/Library/UefiShellLevel3CommandsLib/Touch.c b/ShellPkg= /Library/UefiShellLevel3CommandsLib/Touch.c index 639346f..921de5a 100644 --- a/ShellPkg/Library/UefiShellLevel3CommandsLib/Touch.c +++ b/ShellPkg/Library/UefiShellLevel3CommandsLib/Touch.c @@ -175,11 +175,13 @@ ShellCommandRunTouch ( UINTN ParamCount; EFI_SHELL_FILE_INFO *FileList; EFI_SHELL_FILE_INFO *Node; + SHELL_FILE_HANDLE FileHandle; =20 ProblemParam =3D NULL; ShellStatus =3D SHELL_SUCCESS; ParamCount =3D 0; FileList =3D NULL; + FileHandle =3D NULL; =20 // // initialize the shell lib (we must be in non-auto-init...) @@ -226,9 +228,17 @@ ShellCommandRunTouch ( ){ Status =3D ShellOpenFileMetaArg((CHAR16*)Param, EFI_FILE_MODE_READ= |EFI_FILE_MODE_WRITE, &FileList); if (EFI_ERROR(Status)) { - ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), = gShellLevel3HiiHandle, L"touch", (CHAR16*)Param); =20 - ShellStatus =3D SHELL_NOT_FOUND; - break; + // + // try to create the file in case it doesn't exist + // + gEfiShellProtocol->CreateFile(Param, 0, &FileHandle); + gEfiShellProtocol->CloseFile(FileHandle); + Status =3D ShellOpenFileMetaArg((CHAR16*)Param, EFI_FILE_MODE_RE= AD|EFI_FILE_MODE_WRITE, &FileList); + if (EFI_ERROR(Status)) { + ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV)= , gShellLevel3HiiHandle, L"touch", (CHAR16*)Param); + ShellStatus =3D SHELL_NOT_FOUND; + break; + } } // // make sure we completed the param parsing sucessfully... --=20 2.7.4 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel