Skip to content

Commit c1e1856

Browse files
authored
Revert "Fix return value of VFS seek function (#18561)"
This reverts commit 85ae584.
1 parent 233db04 commit c1e1856

5 files changed

Lines changed: 14 additions & 37 deletions

File tree

libretro-common/include/streams/file_stream_transforms.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ int rfclose(RFILE* stream);
8989
int64_t rftell(RFILE* stream);
9090

9191
/** @see https://en.cppreference.com/w/c/io/fseek */
92-
int rfseek(RFILE* stream, int64_t offset, int origin);
92+
int64_t rfseek(RFILE* stream, int64_t offset, int origin);
9393

9494
/** @see https://en.cppreference.com/w/c/io/fread */
9595
int64_t rfread(void* buffer,

libretro-common/streams/file_stream_transforms.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ int64_t rftell(RFILE* stream)
8383
return filestream_tell(stream);
8484
}
8585

86-
int rfseek(RFILE* stream, int64_t offset, int origin)
86+
int64_t rfseek(RFILE* stream, int64_t offset, int origin)
8787
{
8888
int seek_position = -1;
8989

@@ -103,7 +103,7 @@ int rfseek(RFILE* stream, int64_t offset, int origin)
103103
break;
104104
}
105105

106-
return filestream_seek(stream, offset, seek_position) == -1 ? -1 : 0;
106+
return filestream_seek(stream, offset, seek_position);
107107
}
108108

109109
int64_t rfread(void* buffer,

libretro-common/vfs/vfs_implementation.c

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -242,23 +242,11 @@ int64_t retro_vfs_file_seek_internal(
242242
#endif
243243
#ifdef ATLEAST_VC2005
244244
/* VC2005 and up have a special 64-bit fseek */
245-
if (_fseeki64(stream->fp, offset, whence) != 0)
246-
return -1;
247-
if ((val = _ftelli64(stream->fp)) < 0)
248-
return -1;
249-
return val;
245+
return _fseeki64(stream->fp, offset, whence);
250246
#elif defined(HAVE_64BIT_OFFSETS)
251-
if (fseeko(stream->fp, (off_t)offset, whence) != 0)
252-
return -1;
253-
if ((val = ftello(stream->fp)) < 0)
254-
return -1;
255-
return val;
247+
return fseeko(stream->fp, (off_t)offset, whence);
256248
#else
257-
if (fseek(stream->fp, (long)offset, whence) != 0)
258-
return -1;
259-
if ((val = ftell(stream->fp)) < 0)
260-
return -1;
261-
return val;
249+
return fseek(stream->fp, (long)offset, whence);
262250
#endif
263251
}
264252
#ifdef HAVE_MMAP
@@ -730,17 +718,11 @@ int64_t retro_vfs_file_tell_impl(libretro_vfs_implementation_file *stream)
730718
#endif
731719
#ifdef ATLEAST_VC2005
732720
/* VC2005 and up have a special 64-bit ftell */
733-
if ((val = _ftelli64(stream->fp)) < 0)
734-
return -1;
735-
return val;
721+
return _ftelli64(stream->fp);
736722
#elif defined(HAVE_64BIT_OFFSETS)
737-
if ((val = ftello(stream->fp)) < 0)
738-
return -1;
739-
return val;
723+
return ftello(stream->fp);
740724
#else
741-
if ((val = ftell(stream->fp)) < 0)
742-
return -1;
743-
return val;
725+
return ftell(stream->fp);
744726
#endif
745727
}
746728
#ifdef HAVE_MMAP

libretro-common/vfs/vfs_implementation_cdrom.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
*/
2222

2323
#include <vfs/vfs_implementation.h>
24-
#include <vfs/vfs_implementation_cdrom.h>
2524
#include <file/file_path.h>
2625
#include <compat/fopen_utf8.h>
2726
#include <string/stdstring.h>
@@ -140,7 +139,7 @@ int64_t retro_vfs_file_seek_cdrom(
140139
else
141140
return -1;
142141

143-
return retro_vfs_file_tell_cdrom(stream);
142+
return 0;
144143
}
145144

146145
void retro_vfs_file_open_cdrom(

libretro-common/vfs/vfs_implementation_uwp.cpp

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -113,34 +113,30 @@ int64_t retro_vfs_file_truncate_impl(libretro_vfs_implementation_file* stream, i
113113

114114
int64_t retro_vfs_file_tell_impl(libretro_vfs_implementation_file* stream)
115115
{
116-
int64_t val;
117-
118116
if (!stream)
119117
return -1;
120118

121119
if ((stream->hints & RFILE_HINT_UNBUFFERED) == 0)
122120
return _ftelli64(stream->fp);
123-
if ((val = lseek(stream->fd, 0, SEEK_CUR)) < 0)
121+
if (lseek(stream->fd, 0, SEEK_CUR) < 0)
124122
return -1;
125123

126-
return val;
124+
return 0;
127125
}
128126

129127
int64_t retro_vfs_file_seek_internal(
130128
libretro_vfs_implementation_file* stream,
131129
int64_t offset, int whence)
132130
{
133-
int64_t val;
134-
135131
if (!stream)
136132
return -1;
137133

138134
if ((stream->hints & RFILE_HINT_UNBUFFERED) == 0)
139135
return _fseeki64(stream->fp, offset, whence);
140-
if ((val = lseek(stream->fd, (off_t)offset, whence)) < 0)
136+
if (lseek(stream->fd, (off_t)offset, whence) < 0)
141137
return -1;
142138

143-
return val;
139+
return 0;
144140
}
145141

146142
int64_t retro_vfs_file_seek_impl(libretro_vfs_implementation_file* stream,

0 commit comments

Comments
 (0)