Edit:
I just took a look using codeblocks and there doesn't seem to be any code anywhere in ps2sdk that this fix would break. It should also fix the tests in test_fseek_ftell(); in stdio_tests.c.
More information:
http://www.opengroup.org/onlinepubs/007 ... fseek.html
Code: Select all
int fseek(FILE *stream, long offset, int origin)
{
int ret;
stream->has_putback = 0;
switch(stream->type) {
case STD_IOBUF_TYPE_NONE:
case STD_IOBUF_TYPE_GS:
case STD_IOBUF_TYPE_SIO:
case STD_IOBUF_TYPE_STDOUTHOST:
/* cannot seek stdout or stderr. */
ret = -1;
break;
default:
/* attempt to seek to offset from origin. */
ret = fioLseek(stream->fd, (int)offset, origin);
}
return (ret);
}
Code: Select all
int fseek(FILE *stream, long offset, int origin)
{
int ret;
stream->has_putback = 0;
switch(stream->type) {
case STD_IOBUF_TYPE_NONE:
case STD_IOBUF_TYPE_GS:
case STD_IOBUF_TYPE_SIO:
case STD_IOBUF_TYPE_STDOUTHOST:
/* cannot seek stdout or stderr. */
ret = -1;
break;
default:
/* attempt to seek to offset from origin. */
if((fioLseek(stream->fd, (int)offset, origin)) != -1) {
ret = 0;
}
else
ret = -1;
}
return (ret);
}