--- gforth/prim 2000/03/11 20:35:05 1.43 +++ gforth/prim 2000/05/31 14:37:40 1.46 @@ -488,6 +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."" +/* close ' to keep fontify happy */ n = memcmp(c_addr1, c_addr2, u1tm_min; nsec =ltime->tm_sec; ms n -- facility-ext +""Wait at least @i{n} milli-second."" struct timeval timeout; timeout.tv_sec=n/1000; timeout.tv_usec=1000*(n%1000); @@ -1542,6 +1547,7 @@ I/O result code. If @i{a-addr1} is 0, Gf @code{resize} @code{allocate}s @i{u} address units."" /* the following check is not necessary on most OSs, but it is needed on SunOS 4.1.2. */ +/* close ' to keep fontify happy */ if (a_addr1==NULL) a_addr2 = (Cell *)malloc(u); else @@ -1633,21 +1639,26 @@ if (wior) clearerr((FILE *)wfileid); read-line c_addr u1 wfileid -- u2 flag wior file read_line -/* +#if 1 Cell c; flag=-1; for(u2=0; u2d_name); + if(u2 > u1) + u2 = u1; + memmove(c_addr, dent->d_name, u2); +} + +close-dir wdirid -- wior gforth close_dir +wior = IOR(closedir((DIR *)wdirid)); + +filename-match c_addr1 u1 c_addr2 u2 -- flag gforth match_file +char * string = cstr(c_addr1, u1, 1); +char * pattern = cstr(c_addr2, u2, 0); +flag = FLAG(!fnmatch(pattern, string, 0)); + +\+ + +newline -- c_addr u gforth +""String containing the newline sequence of the host OS"" +char newline[] = { +#ifdef unix +'\n' +#else +'\r','\n' +#endif +}; +c_addr=newline; +u=sizeof(newline);