- gnome_vfs_seek(handle, GNOME_VFS_SEEK_END, 0);
- gnome_vfs_tell(handle, &offsetReturn);
- size = (Guint)offsetReturn;
- if (pos > size)
- pos = (Guint)size;
- gnome_vfs_seek(handle, GNOME_VFS_SEEK_END, -(int)pos);
- gnome_vfs_tell(handle, &offsetReturn);
- bufPos = (Guint)offsetReturn;
+ if (gnome_vfs_seek(handle, GNOME_VFS_SEEK_END, 0) == GNOME_VFS_OK &&
+ gnome_vfs_tell(handle, &offsetReturn) == GNOME_VFS_OK) {
+ bufPos = (Guint)offsetReturn;
+ if (pos > bufPos)
+ pos = (Guint)bufPos;
+ if (gnome_vfs_seek(handle, GNOME_VFS_SEEK_END, -(int)pos) == GNOME_VFS_OK &&
+ gnome_vfs_tell(handle, &offsetReturn) == GNOME_VFS_OK) {
+ bufPos = (Guint)offsetReturn;
+ }
+ }