#include "main.h"
#include "support.h"
{
public:
MyStream() :
m_file(NULL)
{
}
~MyStream()
{
}
{
m_file = fp;
}
{
return feof(m_file) != 0;
}
{
return (m_file != NULL);
}
{
}
{
}
{
}
{
}
{
int stdOrigin;
switch (origin)
{
stdOrigin = SEEK_SET;
break;
stdOrigin = SEEK_CUR;
break;
stdOrigin = SEEK_END;
break;
default:
}
if (offset > LT_LONG_MAX || offset < LT_LONG_MIN)
if(::fseek(m_file, (long)offset, stdOrigin) == 0)
else
}
{
return ftell(m_file);
}
{
return NULL;
}
{
if(ferror(m_file))
else
}
const char*
getID()
const
{
return "my_stdio_stream:";
}
private:
FILE* m_file;
};
{
#if defined(LT_OS_WIN32) || defined(LT_OS_WIN64)
#else
#endif
{
FILE* inFP = fopen(INPUT_PATH("meg.hdr"), "rb");
MyStream inStream;
TEST_SUCCESS(inStream.initialize(inFP));
TEST_SUCCESS(inStream.open());
TEST_BOOL(inStream.read(buf, len) == len);
inStream.close();
fclose(inFP);
}
{
FILE* outFP = fopen(OUTPUT_PATH("foo"), "wb");
MyStream outStream;
TEST_SUCCESS(outStream.initialize(outFP));
TEST_SUCCESS(outStream.open());
TEST_BOOL(outStream.write(buf, len) == len);
outStream.close();
fclose(outFP);
}
delete [] buf;
TEST_BOOL(Compare(OUTPUT_PATH("foo"), INPUT_PATH("meg.hdr")));
Remove(OUTPUT_PATH("foo"));
}