[libc-commits] [libc] [libc][POSIX] implement fseeko, ftello (PR #86928)
Shourya Goel via libc-commits
libc-commits at lists.llvm.org
Thu Mar 28 13:18:08 PDT 2024
================
@@ -0,0 +1,26 @@
+//===-- Implementation of fseeko ------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "src/stdio/fseeko.h"
+#include "src/__support/File/file.h"
+
+#include "src/errno/libc_errno.h"
+
+namespace LIBC_NAMESPACE {
+
+LLVM_LIBC_FUNCTION(int, fseeko, (::FILE * stream, off_t offset, int whence)) {
+ auto result =
+ reinterpret_cast<LIBC_NAMESPACE::File *>(stream)->seek(offset, whence);
+ if (!result.has_value()) {
+ libc_errno = result.error();
+ return -1;
+ }
+ return 0;
----------------
Sh0g0-1758 wrote:
I don't think so as from the man page, fseek is meant to set the the file position indicator. Ie. any value that result might have would not be useful.
> The fseek() function sets the file position indicator for the stream pointed to by stream. The new position, > measured in bytes, is obtained by
> adding offset bytes to the position specified by whence.
https://github.com/llvm/llvm-project/pull/86928
More information about the libc-commits
mailing list