switch(whence) {
case SEEK_CUR:
if (offset < 0) {
- if (ms->fpos < -offset) {
+ if (ms->fpos < (size_t)(-offset)) {
ms->fpos = 0;
/*return EINVAL;*/
} else {
ms->fpos = ms->fpos + offset;
}
} else {
- if (ms->fpos < offset) {
+ if (ms->fpos < (size_t)(offset)) {
ms->fpos = ms->fsize;
/*return EINVAL;*/
} else {
}
return 0;
case SEEK_SET:
- if (offset > ms->fsize) {
+ if (ms->fsize < (size_t)(offset)) {
ms->fpos = ms->fsize;
/*return EINVAL;*/
} else {
if (offset > 0) {
ms->fpos = ms->fsize;
/*return EINVAL;*/
- } else if (ms->fpos < -offset) {
+ } else if (ms->fpos < (size_t)(-offset)) {
ms->fpos = 0;
/*return EINVAL;*/
} else {