summaryrefslogtreecommitdiff
path: root/libguile/fports.h
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/fports.h')
-rw-r--r--libguile/fports.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/libguile/fports.h b/libguile/fports.h
index 4ea698a5a..6b15bd971 100644
--- a/libguile/fports.h
+++ b/libguile/fports.h
@@ -37,12 +37,13 @@ typedef struct scm_t_fport {
*/
} scm_t_fport;
-SCM_API scm_t_bits scm_tc16_fport;
+SCM_API scm_t_port_type *scm_file_port_type;
#define SCM_FSTREAM(x) ((scm_t_fport *) SCM_STREAM (x))
#define SCM_FPORT_FDES(x) (SCM_FSTREAM (x)->fdes)
-#define SCM_FPORTP(x) (SCM_HAS_TYP16 (x, scm_tc16_fport))
+#define SCM_FPORTP(x) \
+ (SCM_PORTP (x) && SCM_PORT_TYPE (x) == scm_file_port_type)
#define SCM_OPFPORTP(x) (SCM_FPORTP (x) && (SCM_CELL_WORD_0 (x) & SCM_OPN))
#define SCM_OPINFPORTP(x) (SCM_OPFPORTP (x) && (SCM_CELL_WORD_0 (x) & SCM_RDNG))
#define SCM_OPOUTFPORTP(x) (SCM_OPFPORTP (x) && (SCM_CELL_WORD_0 (x) & SCM_WRTNG))