IFileStreambuf::IFileStreambuf(const std::string& filename)
{
- // check this as PHYSFS seems to be buggy and still returns a
- // valid pointer in this case
- if(filename == "") {
- throw std::runtime_error("Couldn't open file: emtpy filename");
- }
+ // check this as PHYSFS seems to be buggy and still returns a
+ // valid pointer in this case
+ if(filename == "") {
+ throw std::runtime_error("Couldn't open file: empty filename");
+ }
file = PHYSFS_openRead(filename.c_str());
if(file == 0) {
std::stringstream msg;
int
OFileStreambuf::overflow(int c)
{
+ char c2 = (char)c;
+
if(pbase() == pptr())
return 0;
return traits_type::eof();
if(c != traits_type::eof()) {
- PHYSFS_sint64 res = PHYSFS_write(file, &c, 1, 1);
+ PHYSFS_sint64 res = PHYSFS_write(file, &c2, 1, 1);
if(res <= 0)
return traits_type::eof();
}