summaryrefslogtreecommitdiff
path: root/iperlsys.h
diff options
context:
space:
mode:
Diffstat (limited to 'iperlsys.h')
-rw-r--r--iperlsys.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/iperlsys.h b/iperlsys.h
index 9357e0e2d6..caca9df2d8 100644
--- a/iperlsys.h
+++ b/iperlsys.h
@@ -186,13 +186,19 @@ struct IPerlStdIOInfo
#ifdef USE_STDIO_PTR
# define PerlIO_has_cntptr(f) 1
-# ifdef STDIO_CNT_LVALUE
-# define PerlIO_canset_cnt(f) 1
-# ifdef STDIO_PTR_LVALUE
+# ifdef STDIO_PTR_LVALUE
+# ifdef STDIO_CNT_LVALUE
+# define PerlIO_canset_cnt(f) 1
+# ifdef STDIO_PTR_LVAL_NOCHANGE_CNT
+# define PerlIO_fast_gets(f) 1
+# endif
+# else /* STDIO_CNT_LVALUE */
+# define PerlIO_canset_cnt(f) 0
+# endif
+# else /* STDIO_PTR_LVALUE */
+# ifdef STDIO_PTR_LVAL_SETS_CNT
# define PerlIO_fast_gets(f) 1
# endif
-# else
-# define PerlIO_canset_cnt(f) 0
# endif
#else /* USE_STDIO_PTR */
# define PerlIO_has_cntptr(f) 0