Implement a filelength function for GCC.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1847 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
bbahnsen 2006-10-26 18:14:11 +00:00
parent cbee1e7407
commit fec7633848
3 changed files with 12 additions and 8 deletions

View File

@ -495,6 +495,14 @@ Returns:
} }
#ifdef __GNUC__ #ifdef __GNUC__
size_t _filelength(FILE *file)
{
struct stat stat_buf;
fstat(fileno(file), &stat_buf);
return stat_buf.st_size;
}
#ifndef __CYGWIN__ #ifndef __CYGWIN__
char *strlwr(char *s) char *strlwr(char *s)
{ {

View File

@ -124,9 +124,13 @@ PrintGuidToBuffer (
#define ASSERT(x) assert(x) #define ASSERT(x) assert(x)
#ifdef __GNUC__ #ifdef __GNUC__
#include <stdio.h>
#include <sys/stat.h>
#define stricmp strcasecmp #define stricmp strcasecmp
#define _stricmp strcasecmp
#define strnicmp strncasecmp #define strnicmp strncasecmp
#define strcmpi strcasecmp #define strcmpi strcasecmp
size_t _filelength(FILE *file);
#ifndef __CYGWIN__ #ifndef __CYGWIN__
char *strlwr(char *s); char *strlwr(char *s);
#endif #endif

View File

@ -1617,15 +1617,7 @@ Returns:
// //
// Get the file size // Get the file size
// //
#ifdef __GNUC__
{
struct stat stat_buf;
fstat(fileno(NewFile), &stat_buf);
FileSize = stat_buf.st_size;
}
#else
FileSize = _filelength (fileno (NewFile)); FileSize = _filelength (fileno (NewFile));
#endif
// //
// Read the file into a buffer // Read the file into a buffer