diff options
author | Hess Chen <hesheng.chen@intel.com> | 2014-08-15 03:06:48 +0000 |
---|---|---|
committer | hchen30 <hchen30@6f19259b-4bc3-4df7-8a09-765794883524> | 2014-08-15 03:06:48 +0000 |
commit | 1be2ed90a20618d71ddf34b8a07d038da0b36854 (patch) | |
tree | 468f6ad18b924e3a58c180403f96d5afcd47a4f9 /BaseTools/Source/C/VfrCompile | |
parent | b8a13d736961faff0d11241a0428abc44a084d6e (diff) | |
download | edk2-platforms-1be2ed90a20618d71ddf34b8a07d038da0b36854.tar.xz |
There is a limitation on WINDOWS OS for the length of entire file path can’t be larger than 255. There is an OS API provided by Microsoft to add “\\?\” before the path header to support the long file path. Enable this feature on basetools.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15809 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'BaseTools/Source/C/VfrCompile')
-rw-r--r-- | BaseTools/Source/C/VfrCompile/VfrCompiler.cpp | 16 | ||||
-rw-r--r-- | BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp | 5 |
2 files changed, 11 insertions, 10 deletions
diff --git a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp index bb2df3ed39..063266a91f 100644 --- a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp +++ b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp @@ -2,7 +2,7 @@ VfrCompiler main class and main function.
-Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2014, 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
@@ -413,7 +413,7 @@ CVfrCompiler::Usage ( CONST CHAR8 *Help[] = {
" ",
"VfrCompile version " VFR_COMPILER_VERSION __BUILD_VERSION,
- "Copyright (c) 2004-2013 Intel Corporation. All rights reserved.",
+ "Copyright (c) 2004-2014 Intel Corporation. All rights reserved.",
" ",
"Usage: VfrCompile [options] VfrFile",
" ",
@@ -476,7 +476,7 @@ CVfrCompiler::PreProcess ( goto Out;
}
- if ((pVfrFile = fopen (mOptions.VfrFileName, "r")) == NULL) {
+ if ((pVfrFile = fopen (LongFilePath (mOptions.VfrFileName), "r")) == NULL) {
DebugError (NULL, 0, 0001, "Error opening the input VFR file", mOptions.VfrFileName);
goto Fail;
}
@@ -545,7 +545,7 @@ CVfrCompiler::Compile ( gCVfrErrorHandle.SetInputFile (InFileName);
gCVfrErrorHandle.SetWarningAsError(mOptions.WarningAsError);
- if ((pInFile = fopen (InFileName, "r")) == NULL) {
+ if ((pInFile = fopen (LongFilePath (InFileName), "r")) == NULL) {
DebugError (NULL, 0, 0001, "Error opening the input file", InFileName);
goto Fail;
}
@@ -699,7 +699,7 @@ CVfrCompiler::GenBinary ( }
if (mOptions.CreateIfrPkgFile == TRUE) {
- if ((pFile = fopen (mOptions.PkgOutputFileName, "wb")) == NULL) {
+ if ((pFile = fopen (LongFilePath (mOptions.PkgOutputFileName), "wb")) == NULL) {
DebugError (NULL, 0, 0001, "Error opening file", mOptions.PkgOutputFileName);
goto Fail;
}
@@ -742,7 +742,7 @@ CVfrCompiler::GenCFile ( }
if (!mOptions.CreateIfrPkgFile || mOptions.CompatibleMode) {
- if ((pFile = fopen (mOptions.COutputFileName, "w")) == NULL) {
+ if ((pFile = fopen (LongFilePath (mOptions.COutputFileName), "w")) == NULL) {
DebugError (NULL, 0, 0001, "Error opening output C file", mOptions.COutputFileName);
goto Fail;
}
@@ -789,12 +789,12 @@ CVfrCompiler::GenRecordListFile ( return;
}
- if ((pInFile = fopen (InFileName, "r")) == NULL) {
+ if ((pInFile = fopen (LongFilePath (InFileName), "r")) == NULL) {
DebugError (NULL, 0, 0001, "Error opening the input VFR preprocessor output file", InFileName);
return;
}
- if ((pOutFile = fopen (mOptions.RecordListFile, "w")) == NULL) {
+ if ((pOutFile = fopen (LongFilePath (mOptions.RecordListFile), "w")) == NULL) {
DebugError (NULL, 0, 0001, "Error opening the record list file", mOptions.RecordListFile);
goto Err1;
}
diff --git a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp index 7c1383eb7a..246820a08a 100644 --- a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp +++ b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp @@ -2,7 +2,7 @@ Vfr common library functions.
-Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2014, 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
@@ -15,6 +15,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include "stdio.h"
#include "stdlib.h"
+#include "CommonLib.h"
#include "VfrUtilityLib.h"
#include "VfrFormPkg.h"
@@ -3283,7 +3284,7 @@ CVfrStringDB::GetVarStoreNameFormStringId ( return NULL;
}
- if ((pInFile = fopen (mStringFileName, "rb")) == NULL) {
+ if ((pInFile = fopen (LongFilePath (mStringFileName), "rb")) == NULL) {
return NULL;
}
|