1 #!/home/ralph/src/devuan/rrqforth/rrqforth
6 0 SWAP 0 0 # set up 2 cell pairs for 2 "struct timespec"
7 2 D[n] 0 D[n] # Pointers to them ( *req *rem )
8 SYS_NANOSLEEP DROP # ignore return value
12 : DOTS ( n -- ; sleep n seconds with a dot every second )
13 BEGIN S" ." TELL 1 sleep 1 - DUP 0 > IFAGAIN SP EMIT END DROP ;
15 : DIEIF ( n -- ; die if n is 0 )
16 0= IF S" ** not a number **" TELL NL EMIT 1 EXIT THEN ;
19 " Sleep seconds: " TELL STDIN READ-WORD NUMBER DIEIF
20 " sleeping " TELL DOTS " done" TELL NL EMIT