mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-19 18:24:05 +00:00
For PR351:
Remove unix specific code (use of errno and read) from the reader. Thanks to Jeff Cohen for pointing this out. llvm-svn: 19081
This commit is contained in:
parent
ef5940c5de
commit
44d96443fe
@ -20,6 +20,7 @@
|
||||
#include "llvm/ADT/StringExtras.h"
|
||||
#include "llvm/System/MappedFile.h"
|
||||
#include <cerrno>
|
||||
#include <iostream>
|
||||
using namespace llvm;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
@ -41,10 +42,6 @@ namespace {
|
||||
};
|
||||
}
|
||||
|
||||
static std::string ErrnoMessage (int savedErrNum, std::string descr) {
|
||||
return ::strerror(savedErrNum) + std::string(", while trying to ") + descr;
|
||||
}
|
||||
|
||||
BytecodeFileReader::BytecodeFileReader(const std::string &Filename,
|
||||
llvm::BytecodeHandler* H )
|
||||
: BytecodeReader(H)
|
||||
@ -133,14 +130,14 @@ namespace {
|
||||
BytecodeStdinReader::BytecodeStdinReader( BytecodeHandler* H )
|
||||
: BytecodeReader(H)
|
||||
{
|
||||
int BlockSize;
|
||||
unsigned char Buffer[4096*4];
|
||||
char Buffer[4096*4];
|
||||
|
||||
// Read in all of the data from stdin, we cannot mmap stdin...
|
||||
while ((BlockSize = ::read(0 /*stdin*/, Buffer, 4096*4))) {
|
||||
if (BlockSize == -1)
|
||||
throw ErrnoMessage(errno, "read from standard input");
|
||||
|
||||
while (std::cin.good()) {
|
||||
std::cin.read(Buffer, 4096*4);
|
||||
int BlockSize = std::cin.gcount();
|
||||
if (0 >= BlockSize)
|
||||
break;
|
||||
FileData.insert(FileData.end(), Buffer, Buffer+BlockSize);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user