diff options
author | Camm Maguire <camm@debian.org> | 2014-04-02 18:21:06 +0000 |
---|---|---|
committer | Camm Maguire <camm@debian.org> | 2014-04-02 18:33:15 +0000 |
commit | 3e4c0e5c34312a15c827c0dcaa9f8b0c7fd62c40 (patch) | |
tree | 1e81ad8d2cb1e929821ecf7a93b45933d94fe999 | |
parent | 1e8744ab26db371da257ae78368bcf320c4c6dae (diff) | |
download | gcl-3e4c0e5c34312a15c827c0dcaa9f8b0c7fd62c40.tar.gz |
NO_SETBUF cleanups
-rwxr-xr-x | gcl/o/file.d | 36 | ||||
-rwxr-xr-x | gcl/o/sgbc.c | 18 |
2 files changed, 28 insertions, 26 deletions
diff --git a/gcl/o/file.d b/gcl/o/file.d index 9562a7e9..06f90c9a 100755 --- a/gcl/o/file.d +++ b/gcl/o/file.d @@ -365,38 +365,38 @@ BEGIN: } } -#ifndef NO_SETBUF void -setup_stream_buffer(x) - object x; -{char *buf=alloc_contblock(BUFSIZ); - x->sm.sm_buffer = buf; - setbuf(x->sm.sm_fp, buf); +setup_stream_buffer(object x) { +#ifndef NO_SETBUF + char *buf=alloc_contblock(BUFSIZ); + x->sm.sm_buffer = buf; + setbuf(x->sm.sm_fp, buf); +#else + setvbuf(x->sm.sm_fp,NULL,_IONBF,0); + x->sm.sm_buffer=0; +#endif } static void -deallocate_stream_buffer(strm) -object strm; -{ +deallocate_stream_buffer(object strm) { /* SGC contblock pages: Its possible this is on an old page CM 20030827 */ - if (strm->sm.sm_buffer) - { + if (strm->sm.sm_buffer) { #ifdef SGC - insert_maybe_sgc_contblock(strm->sm.sm_buffer, BUFSIZ); + insert_maybe_sgc_contblock(strm->sm.sm_buffer, BUFSIZ); #else - insert_contblock(strm->sm.sm_buffer, BUFSIZ); + insert_contblock(strm->sm.sm_buffer, BUFSIZ); #endif - strm->sm.sm_buffer = 0;} -/* else */ -/* printf("no buffer? %p \n",strm->sm.sm_fp); */ + if (strm->sm.sm_fp) + setvbuf(strm->sm.sm_fp,NULL,_IONBF,0); + strm->sm.sm_buffer = 0; + } #ifndef FCLOSE_SETBUF_OK strm->sm.sm_fp->_base = NULL; #endif + } -/* end ifndef NO_SETBUF */ -#endif DEFVAR("*ALLOW-GZIPPED-FILE*",sSAallow_gzipped_fileA,SI,sLnil,""); diff --git a/gcl/o/sgbc.c b/gcl/o/sgbc.c index b41b6c65..1d405d76 100755 --- a/gcl/o/sgbc.c +++ b/gcl/o/sgbc.c @@ -1278,19 +1278,21 @@ sgc_start(void) { writable_pages=0; for (pi=cell_list_head;pi;pi=pi->next) { - void *v,*ve; if (pi->sgc_flags&SGC_WRITABLE) SET_WRITABLE(page(pi)); else tm_of(pi->type)->tm_alt_npage++; #ifndef NO_SETBUF /*FIXME, implement restartable getc with read in readc_stream*/ - if (pi->type!=(tm=tm_of(t_stream))->tm_type) continue; - for (v=pagetochar(page(pi)),ve=v+tm->tm_nppage*tm->tm_size;v<ve;v+=tm->tm_size) { - object x=v; - if (type_of(x)!=t_stream || is_free(x)) continue; - if (x->sm.sm_buffer) - for (i=page(x->sm.sm_buffer);i<=page(x->sm.sm_buffer+BUFSIZ-1);i++) - SET_WRITABLE(i); + { + void *v,*ve; + if (pi->type!=(tm=tm_of(t_stream))->tm_type) continue; + for (v=pagetochar(page(pi)),ve=v+tm->tm_nppage*tm->tm_size;v<ve;v+=tm->tm_size) { + object x=v; + if (type_of(x)!=t_stream || is_free(x)) continue; + if (x->sm.sm_buffer) + for (i=page(x->sm.sm_buffer);i<=page(x->sm.sm_buffer+BUFSIZ-1);i++) + SET_WRITABLE(i); + } } #endif } |