diff --git a/scheme/base.sld b/scheme/base.sld index bc0019ec..fca004da 100644 --- a/scheme/base.sld +++ b/scheme/base.sld @@ -138,6 +138,8 @@ output-port? input-port-open? output-port-open? + get-output-string + open-output-string features Cyc-version any @@ -193,9 +195,7 @@ ; ; need string ports ; ; may be able to use POSIX string steams for this, see: open_memstream ; ; however there may be portability issues with that. looks like BSD and windows don't have it -; get-output-string ; open-input-string -; open-output-string ; ; ;; no binary/text ports yet ; binary-port? @@ -1161,6 +1161,14 @@ data, k, ((p->mode == 0 && p->fp != NULL) ? boolean_t : boolean_f)); ") + (define-c open-output-string + "(void *data, int argc, closure _, object k)" + " port_type p = Cyc_io_open_output_string(data); + return_closcall1(data, k, &p); ") + (define-c get-output-string + "(void *data, int argc, closure _, object k, object port)" + " Cyc_io_get_output_string(data, k, port); + ") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; syntax-rules