File:  [gforth] / gforth / filedump.fs
Revision 1.14: download - view: text, annotated - select for diffs
Mon Dec 31 19:02:24 2007 UTC (16 years, 3 months ago) by anton
Branches: MAIN
CVS tags: v0-7-0, HEAD
updated copyright year after changing license notice

    1: #! /usr/local/lib/gforth/0.2.0/kernel.fi
    2: \ file hex dump
    3: 
    4: \ Copyright (C) 1997,2002,2003,2004,2007 Free Software Foundation, Inc.
    5: 
    6: \ This file is part of Gforth.
    7: 
    8: \ Gforth is free software; you can redistribute it and/or
    9: \ modify it under the terms of the GNU General Public License
   10: \ as published by the Free Software Foundation, either version 3
   11: \ of the License, or (at your option) any later version.
   12: 
   13: \ This program is distributed in the hope that it will be useful,
   14: \ but WITHOUT ANY WARRANTY; without even the implied warranty of
   15: \ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   16: \ GNU General Public License for more details.
   17: 
   18: \ You should have received a copy of the GNU General Public License
   19: \ along with this program. If not, see http://www.gnu.org/licenses/.
   20: 
   21: Create buf $10 allot
   22: 
   23: : dumpline ( addr handle -- flag )
   24:   buf $10 rot read-file throw
   25:   dup /dump !  $10 <> swap 6 u.r ." : "  buf .line cr ;
   26: 
   27: : init  cr $10 base ! ;
   28: 
   29: : filedump  ( addr count -- )  init r/o bin open-file throw >r
   30:   0  BEGIN  $10 bounds  r@ dumpline  UNTIL  drop
   31:   r> close-file throw ;
   32: 
   33: script? [IF]
   34:    : alldump argc @ 1 ?DO I arg 2dup type ." :" filedump LOOP ;
   35:    alldump bye
   36: [THEN]

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