--- gforth/prim 1999/08/07 21:40:35 1.37 +++ gforth/prim 1999/11/08 22:01:09 1.40 @@ -488,11 +488,7 @@ the first string is smaller, @i{n} is -1 is 1. Currently this is based on the machine's character comparison. In the future, this may change to consider the current locale and its collation order."" -#ifdef MEMCMP_AS_SUBROUTINE -n = gforth_memcmp(c_addr1, c_addr2, u10) THEN ; -text c_addr1 u c_addr2 -- n new dash_text -#ifdef MEMCMP_AS_SUBROUTINE -n = gforth_memcmp(c_addr1, c_addr2, u); -#else n = memcmp(c_addr1, c_addr2, u); -#endif if (n<0) n = -1; else if (n>0) @@ -1274,11 +1266,7 @@ while(a_addr != NULL) f83name1=(struct F83Name *)(a_addr[1]); a_addr=(Cell *)(a_addr[0]); if ((UCell)F83NAME_COUNT(f83name1)==u && -#ifdef MEMCMP_AS_SUBROUTINE - gforth_memcmp(c_addr, f83name1->name, u)== 0 /* or inline? */) -#else memcmp(c_addr, f83name1->name, u)== 0 /* or inline? */) -#endif { f83name2=f83name1; break; @@ -1361,6 +1349,8 @@ f_addr = (Float *)((((Cell)c_addr)+(size [ 1 floats 1- ] Literal + [ -1 floats ] Literal and ; >body xt -- a_addr core to_body +"" Get the address of the body of the word represented by @i{xt} (the address +of the word's data field)."" a_addr = PFA(xt); : 2 cells + ; @@ -1675,18 +1665,19 @@ else { } \+ -\+file write-file c_addr u1 wfileid -- wior file write_file /* !! fwrite does not guarantee enough */ +#ifdef HAS_FILE { UCell u2 = fwrite(c_addr, sizeof(Char), u1, (FILE *)wfileid); wior = FILEIO(u2