From ebbd322ff029a9212274df18f1aeac27cc6df6b6 Mon Sep 17 00:00:00 2001 From: Collin Funk Date: Sun, 6 Apr 2025 19:34:54 -0700 Subject: [PATCH] fflush: Port to recent Haiku snapshots. * lib/stdio-impl.h (_IO_IN_BACKUP) [__HAIKU__]: Define macros. * lib/fflush.c (fp_) [!__HAIKU__]: Define to fp. (fflush): Use fp_ instead of fp. --- ChangeLog | 5 +++++ lib/fflush.c | 5 ++++- lib/stdio-impl.h | 3 +++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 289624f453..d1a16e15da 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2025-04-06 Collin Funk + fflush: Port to recent Haiku snapshots. + * lib/stdio-impl.h (_IO_IN_BACKUP) [__HAIKU__]: Define macros. + * lib/fflush.c (fp_) [!__HAIKU__]: Define to fp. + (fflush): Use fp_ instead of fp. + fbufmode: Port to recent Haiku snapshots. * lib/stdio-impl.h (_IO_UNBUFFERED, _IO_LINE_BUF) [__HAIKU__]: Define macros. diff --git a/lib/fflush.c b/lib/fflush.c index 85af768ce7..9e256f3272 100644 --- a/lib/fflush.c +++ b/lib/fflush.c @@ -33,12 +33,15 @@ #if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ +# if !defined __HAIKU__ +# define fp_ fp +# endif /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */ static void clear_ungetc_buffer_preserving_position (FILE *fp) { - if (fp->_flags & _IO_IN_BACKUP) + if (fp_->_flags & _IO_IN_BACKUP) /* _IO_free_backup_area is a bit complicated. Simply call fseek. */ fseeko (fp, 0, SEEK_CUR); } diff --git a/lib/stdio-impl.h b/lib/stdio-impl.h index 2e7bf1a7c7..4b4263fe90 100644 --- a/lib/stdio-impl.h +++ b/lib/stdio-impl.h @@ -65,6 +65,9 @@ # if !defined _IO_EOF_SEEN # define _IO_EOF_SEEN 0x10 # endif +# if !defined _IO_IN_BACKUP +# define _IO_IN_BACKUP 0x100 +# endif # if !defined _IO_LINE_BUF # define _IO_LINE_BUF 0x200 # endif -- 2.39.5