version 1.4, 1998/12/08 22:03:09
|
version 1.16, 2007/12/31 19:02:25
|
Line 1
|
Line 1
|
\ ERRORE.FS English error strings 9may93jaw |
\ ERRORE.FS English error strings 9may93jaw |
|
|
\ Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc. |
\ Copyright (C) 1995,1996,1997,1998,1999,2000,2003,2006,2007 Free Software Foundation, Inc. |
|
|
\ This file is part of Gforth. |
\ This file is part of Gforth. |
|
|
\ Gforth is free software; you can redistribute it and/or |
\ Gforth is free software; you can redistribute it and/or |
\ modify it under the terms of the GNU General Public License |
\ modify it under the terms of the GNU General Public License |
\ as published by the Free Software Foundation; either version 2 |
\ as published by the Free Software Foundation, either version 3 |
\ of the License, or (at your option) any later version. |
\ of the License, or (at your option) any later version. |
|
|
\ This program is distributed in the hope that it will be useful, |
\ This program is distributed in the hope that it will be useful, |
Line 15
|
Line 15
|
\ GNU General Public License for more details. |
\ GNU General Public License for more details. |
|
|
\ You should have received a copy of the GNU General Public License |
\ You should have received a copy of the GNU General Public License |
\ along with this program; if not, write to the Free Software |
\ along with this program. If not, see http://www.gnu.org/licenses/. |
\ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
|
|
|
|
|
\ The errors are defined by a linked list, for easy adding |
\ The errors are defined by a linked list, for easy adding |
\ and deleting. Speed is not neccassary at this point. |
\ and deleting. Speed is not neccassary at this point. |
|
|
|
require ./io.fs |
|
require ./nio.fs |
|
|
AVariable ErrLink \ Linked list entry point |
AVariable ErrLink \ Linked list entry point |
NIL ErrLink ! |
NIL ErrLink ! |
|
|
Line 34 decimal
|
Line 36 decimal
|
\ error numbers between -512 and -2047 are for OS errors and are |
\ error numbers between -512 and -2047 are for OS errors and are |
\ handled with strerror |
\ handled with strerror |
|
|
|
has? OS [IF] |
: >stderr ( -- ) |
: >stderr ( -- ) |
r> outfile-id >r stderr to outfile-id |
r> outfile-id >r stderr to outfile-id |
>exec r> to outfile-id ; |
>exec r> to outfile-id ; |
|
[THEN] |
|
|
: .error ( n -- ) |
: .error ( n -- ) |
|
[ has? OS [IF] ] |
>stderr |
>stderr |
cr ." Error: " |
[ [THEN] ] |
ErrLink |
ErrLink |
BEGIN @ dup |
BEGIN @ dup |
WHILE |
WHILE |
Line 59 decimal
|
Line 64 decimal
|
512 + negate strerror type EXIT |
512 + negate strerror type EXIT |
THEN |
THEN |
[ [THEN] ] |
[ [THEN] ] |
. ; |
." error " dec. ; |