mirror of https://github.com/acidanthera/audk.git
BaseTools:remove the redundant directories for '-f' with absolute path.
when the absolute path is given to '-f', it would create some redundant empty directories. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18675 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
7254d13470
commit
7919244076
|
@ -2,7 +2,7 @@
|
|||
|
||||
Split a file into two pieces at the request offset.
|
||||
|
||||
Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available
|
||||
under the terms and conditions of the BSD License which accompanies this
|
||||
distribution. The full text of the license may be found at
|
||||
|
@ -58,7 +58,7 @@ Returns:
|
|||
--*/
|
||||
{
|
||||
printf ("%s Version %d.%d %s\n", UTILITY_NAME, UTILITY_MAJOR_VERSION, UTILITY_MINOR_VERSION, __BUILD_VERSION);
|
||||
printf ("Copyright (c) 1999-2014 Intel Corporation. All rights reserved.\n");
|
||||
printf ("Copyright (c) 1999-2015 Intel Corporation. All rights reserved.\n");
|
||||
printf ("\n SplitFile creates two Binary files either in the same directory as the current working\n");
|
||||
printf (" directory or in the specified directory.\n");
|
||||
}
|
||||
|
@ -176,20 +176,25 @@ CreateDir (
|
|||
{
|
||||
CHAR8* temp = *FullFileName;
|
||||
CHAR8* start = temp;
|
||||
CHAR8 tempchar;
|
||||
UINT64 index = 0;
|
||||
|
||||
for (;index < strlen(temp); ++index) {
|
||||
if (temp[index] == '\\' || temp[index] == '/') {
|
||||
temp[index] = 0;
|
||||
if (chdir(start)) {
|
||||
if (mkdir(start, S_IRWXU | S_IRWXG | S_IRWXO) != 0) {
|
||||
return EFI_ABORTED;
|
||||
if (temp[index + 1] != '\0') {
|
||||
tempchar = temp[index + 1];
|
||||
temp[index + 1] = 0;
|
||||
if (chdir(start)) {
|
||||
if (mkdir(start, S_IRWXU | S_IRWXG | S_IRWXO) != 0) {
|
||||
return EFI_ABORTED;
|
||||
}
|
||||
chdir(start);
|
||||
}
|
||||
chdir(start);
|
||||
start = temp + index + 1;
|
||||
temp[index] = '/';
|
||||
temp[index + 1] = tempchar;
|
||||
}
|
||||
}
|
||||
start = temp + index + 1;
|
||||
temp[index] = '/';
|
||||
}
|
||||
}
|
||||
|
||||
return EFI_SUCCESS;
|
||||
|
|
Loading…
Reference in New Issue