Update ParseInf to resolve different line separator between WINDOWS and LINUX (\r\n vs. \n). Update GenFvImage to resolve different file separator between WINDOWS and LINUX (\ vs. /). Add variable initialize for SymImageSize.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1908 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
wuyizhong 2006-11-07 03:03:06 +00:00
parent b51f14f4d6
commit 1d940d05b5
3 changed files with 23 additions and 4 deletions

View File

@ -116,7 +116,15 @@ Returns:
//
// Add the null termination over the 0x0D
//
InputBuffer[CharsToCopy - 1] = '\0';
if (InputBuffer[CharsToCopy - 1] == '\r') {
InputBuffer[CharsToCopy - 1] = '\0';
} else {
InputBuffer[CharsToCopy] = '\0';
}
//
// Increment the current file pointer (include the 0x0A)

View File

@ -126,7 +126,7 @@ Returns:
CHAR8 SymFileNameBuffer[_MAX_PATH];
CHAR8 *SymFileName;
UINT8 *SymImage;
UINTN SymImageSize;
UINTN SymImageSize = 0;
CHAR8 *CurrentSymString;
FvFileName = FvFileNameBuffer;

View File

@ -48,6 +48,17 @@ Abstract:
#include "EfiCompress.h"
#include "WinNtInclude.h"
//
// Different file separater for Linux and Windows
//
#ifdef __GNUC__
#define FILE_SEP_CHAR '/'
#define FILE_SEP_STRING "/"
#else
#define FILE_SEP_CHAR '\\'
#define FILE_SEP_STRING "\\"
#endif
static UINT32 MaxFfsAlignment = 0;
//
// Local function prototypes
@ -1374,7 +1385,7 @@ Returns:
// Copy the file name for the path of the sym file and truncate the name portion.
//
strcpy (SymFileName, Buffer);
Ptr = strrchr (SymFileName, '\\');
Ptr = strrchr (SymFileName, FILE_SEP_CHAR);
assert (Ptr);
Ptr[0] = 0;
@ -1411,7 +1422,7 @@ Returns:
// Add the symbol file name and extension to the file path.
//
strcat (Buffer, ".sym");
strcat (SymFileName, "\\");
strcat (SymFileName, FILE_SEP_CHAR);
strcat (SymFileName, Buffer);
} else {
//