mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-07-03 19:26:36 +02:00
Adding port-fileno.
This commit is contained in:
parent
a1e22d42d4
commit
a6e71e47b8
3 changed files with 14 additions and 1 deletions
9
eval.c
9
eval.c
|
@ -1178,6 +1178,15 @@ sexp sexp_set_port_line_op (sexp ctx, sexp self, sexp_sint_t n, sexp port, sexp
|
|||
return SEXP_VOID;
|
||||
}
|
||||
|
||||
#ifndef PLAN9
|
||||
sexp sexp_get_port_fileno (sexp ctx, sexp self, sexp_sint_t n, sexp port) {
|
||||
sexp_assert_type(ctx, sexp_portp, SEXP_IPORT, port);
|
||||
if (sexp_port_stream(port) && sexp_port_fileno(port) >= 0)
|
||||
return sexp_make_fixnum(sexp_port_fileno(port));
|
||||
return SEXP_FALSE;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if SEXP_USE_STATIC_LIBS
|
||||
#ifndef PLAN9
|
||||
#include "clibs.c"
|
||||
|
|
|
@ -224,6 +224,8 @@ SEXP_API sexp sexp_9p_req_fid (sexp ctx, sexp self, sexp_sint_t n, sexp req);
|
|||
SEXP_API sexp sexp_9p_req_newfid (sexp ctx, sexp self, sexp_sint_t n, sexp req);
|
||||
SEXP_API sexp sexp_9p_respond (sexp ctx, sexp self, sexp_sint_t n, sexp req, sexp err);
|
||||
SEXP_API sexp sexp_9p_responderror (sexp ctx, sexp self, sexp_sint_t n, sexp req);
|
||||
#else
|
||||
SEXP_API sexp sexp_get_port_fileno (sexp ctx, sexp self, sexp_sint_t n, sexp port);
|
||||
#endif
|
||||
|
||||
#if SEXP_USE_SIMPLIFY
|
||||
|
|
|
@ -239,8 +239,10 @@ _FN2(_I(SEXP_OPCODE), _I(SEXP_TYPE), _I(SEXP_SYMBOL), "type-slot-offset", 0, sex
|
|||
_OP(SEXP_OPC_GETTER, SEXP_OP_SLOTN_REF, 3, 0, _I(SEXP_OBJECT), _I(SEXP_OBJECT), _I(SEXP_OBJECT), _I(SEXP_FIXNUM), 0, "slot-ref", 0, NULL),
|
||||
_OP(SEXP_OPC_SETTER, SEXP_OP_SLOTN_SET, 4, 0, SEXP_VOID, _I(SEXP_OBJECT), _I(SEXP_OBJECT), _I(SEXP_FIXNUM), 0,"slot-set!", 0, NULL),
|
||||
#endif
|
||||
#if PLAN9
|
||||
#ifdef PLAN9
|
||||
#include "opt/plan9-opcodes.c"
|
||||
#else
|
||||
_FN1(_I(SEXP_OBJECT), _I(SEXP_IPORT), "port-fileno", 0, sexp_get_port_fileno),
|
||||
#endif
|
||||
#if SEXP_USE_MODULES
|
||||
_FN0(_I(SEXP_ENV), "current-environment", 0, sexp_current_environment),
|
||||
|
|
Loading…
Add table
Reference in a new issue