pspp.git - GNU PSPP

index : pspp.git
GNU PSPP
summary refs log tree commit diff
path: root/src/libpspp/ext-array.c
diff options
context:
space:
mode:
authorBen Pfaff <blp@cs.stanford.edu>2025年06月05日 13:18:02 -0700
committerBen Pfaff <blp@cs.stanford.edu>2025年06月05日 13:18:02 -0700
commitec03db2eebaec84d55d4d2a756e0cede64e41c52 (patch)
tree0815ab16e948d8206119625aedddffec209355a6 /src/libpspp/ext-array.c
parent591ba84cfb5aae4fcab6af506deb0d0c39a7070e (diff)
downloadpspp-ec03db2eebaec84d55d4d2a756e0cede64e41c52.tar.gz
ext-array: Use fseeko64 instead of fseeko, if available.
Diffstat (limited to 'src/libpspp/ext-array.c')
-rw-r--r--src/libpspp/ext-array.c 12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/libpspp/ext-array.c b/src/libpspp/ext-array.c
index c03d0c23c..bb8b91ea2 100644
--- a/src/libpspp/ext-array.c
+++ b/src/libpspp/ext-array.c
@@ -36,6 +36,16 @@
#include "gettext.h"
#define _(msgid) gettext (msgid)
+/* fseeko() doesn't work properly on Mingw despite Gnulib, but fseeko64() does,
+ according to Egbert van der Es:
+
+ https://lists.gnu.org/archive/html/bug-gnu-pspp/2025-05/msg00007.html
+ https://lists.gnu.org/archive/html/bug-gnu-pspp/2025-06/msg00001.html
+ https://lists.gnu.org/archive/html/bug-gnu-pspp/2025-06/msg00002.html */
+#if !HAVE_FSEEKO64
+#define fseeko64 fseeko
+#endif
+
enum op
{
OP_WRITE, /* writing */
@@ -97,7 +107,7 @@ do_seek (const struct ext_array *ea_, off_t offset, enum op op)
{
if (ea->position == offset && ea->op == op)
return true;
- else if (fseeko (ea->file, offset, SEEK_SET) == 0)
+ else if (fseeko64 (ea->file, offset, SEEK_SET) == 0)
{
ea->position = offset;
return true;
generated by cgit v1.2.3 (git 2.25.1) at 2025年09月15日 13:45:46 +0000

AltStyle によって変換されたページ (->オリジナル) /