Diff for /gforth/prim between versions 1.192 and 1.194

version 1.192, 2006/04/02 09:18:56 version 1.194, 2006/05/25 22:10:16
Line 1647  n=1; Line 1647  n=1;
 \g hostos  \g hostos
   
 key-file        ( wfileid -- c )                gforth  paren_key_file  key-file        ( wfileid -- c )                gforth  paren_key_file
 ""Read one character @i{c} from @i{wfileid}.    ""  ""Read one character @i{c} from @i{wfileid}.  This word disables
   buffering for @i{wfileid}.  If you want to read characters from a
   terminal in non-canonical (raw) mode, you have to put the terminal in
   non-canonical mode yourself (using the C interface); the exception is
   @code{stdin}: Gforth automatically puts it into non-canonical mode.""
 #ifdef HAS_FILE  #ifdef HAS_FILE
 fflush(stdout);  fflush(stdout);
 c = key((FILE*)wfileid);  c = key((FILE*)wfileid);
Line 1657  c = key(stdin); Line 1661  c = key(stdin);
   
 key?-file       ( wfileid -- f )                gforth  key_q_file  key?-file       ( wfileid -- f )                gforth  key_q_file
 ""@i{f} is true if at least one character can be read from @i{wfileid}  ""@i{f} is true if at least one character can be read from @i{wfileid}
 without blocking.""  without blocking.  If you also want to use @code{read-file} or
   @code{read-line} on the file, you have to call @code{key?-file} or
   @code{key-file} first (these two words disable buffering).""
 #ifdef HAS_FILE  #ifdef HAS_FILE
 fflush(stdout);  fflush(stdout);
 f = key_query((FILE*)wfileid);  f = key_query((FILE*)wfileid);
Line 1668  f = key_query(stdin); Line 1674  f = key_query(stdin);
 \+os  \+os
   
 stdin   ( -- wfileid )  gforth  stdin   ( -- wfileid )  gforth
   ""The standard input file of the Gforth process.""
 wfileid = (Cell)stdin;  wfileid = (Cell)stdin;
   
 stdout  ( -- wfileid )  gforth  stdout  ( -- wfileid )  gforth
   ""The standard output file of the Gforth process.""
 wfileid = (Cell)stdout;  wfileid = (Cell)stdout;
   
 stderr  ( -- wfileid )  gforth  stderr  ( -- wfileid )  gforth
   ""The standard error output file of the Gforth process.""
 wfileid = (Cell)stderr;  wfileid = (Cell)stderr;
   
 form    ( -- urows ucols )      gforth  form    ( -- urows ucols )      gforth
Line 2705  ffi-2! ( d a_addr -- ) gforth ffi_2store Line 2714  ffi-2! ( d a_addr -- ) gforth ffi_2store
 ffi-arg-int ( -- w )    gforth ffi_arg_int  ffi-arg-int ( -- w )    gforth ffi_arg_int
 w = *(int *)(*gforth_clist++);  w = *(int *)(*gforth_clist++);
   
   ffi-arg-long ( -- w )   gforth ffi_arg_long
   w = *(long *)(*gforth_clist++);
   
 ffi-arg-longlong ( -- d )       gforth ffi_arg_longlong  ffi-arg-longlong ( -- d )       gforth ffi_arg_longlong
 #ifdef BUGGY_LONG_LONG  #ifdef BUGGY_LONG_LONG
 DLO_IS(d, (Cell*)(*gforth_clist++));  DLO_IS(d, (Cell*)(*gforth_clist++));
 DHI_IS(d, 0);  DHI_IS(d, -((Cell*)(*gforth_clist++)<0));
 #else  #else
 d = *(DCell*)(*gforth_clist++);  d = *(DCell*)(*gforth_clist++);
 #endif  #endif
   
   ffi-arg-dlong ( -- d )  gforth ffi_arg_dlong
   #ifdef BUGGY_LONG_LONG
   DLO_IS(d, (Cell*)(*gforth_clist++));
   DHI_IS(d, -((Cell*)(*gforth_clist++)<0));
   #else
   d = *(Cell*)(*gforth_clist++);
   #endif
   
 ffi-arg-ptr ( -- c_addr )       gforth ffi_arg_ptr  ffi-arg-ptr ( -- c_addr )       gforth ffi_arg_ptr
 c_addr = *(Char **)(*gforth_clist++);  c_addr = *(Char **)(*gforth_clist++);
   
Line 2737  ffi-ret-longlong ( d -- ) gforth ffi_ret Line 2757  ffi-ret-longlong ( d -- ) gforth ffi_ret
 #endif  #endif
 return 0;  return 0;
   
   ffi-ret-dlong ( d -- )  gforth ffi_ret_dlong
   #ifdef BUGGY_LONG_LONG
   *(Cell*)(gforth_ritem) = DLO(d);
   #else
   *(Cell*)(gforth_ritem) = d;
   #endif
   return 0;
   
   ffi-ret-long ( n -- )   gforth ffi_ret_long
   #ifdef BUGGY_LONG_LONG
   *(Cell*)(gforth_ritem) = DLO(n);
   #else
   *(Cell*)(gforth_ritem) = n;
   #endif
   return 0;
   
 ffi-ret-ptr ( c_addr -- )       gforth ffi_ret_ptr  ffi-ret-ptr ( c_addr -- )       gforth ffi_ret_ptr
 *(Char **)(gforth_ritem) = c_addr;  *(Char **)(gforth_ritem) = c_addr;
 return 0;  return 0;

Removed from v.1.192  
changed lines
  Added in v.1.194


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>