[openfirmware] [commit] r1942 - ofw/core
repository service
svn at openfirmware.info
Mon Aug 30 20:12:58 CEST 2010
Author: wmb
Date: Mon Aug 30 20:12:57 2010
New Revision: 1942
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/1942
Log:
Fixed stack pile-up problem in $copy-all (pack should have been place)
and added running stack comments to the affected source code.
Modified:
ofw/core/filecmds.fth
Modified: ofw/core/filecmds.fth
==============================================================================
--- ofw/core/filecmds.fth Mon Aug 23 02:47:34 2010 (r1941)
+++ ofw/core/filecmds.fth Mon Aug 30 20:12:57 2010 (r1942)
@@ -590,20 +590,21 @@
first-match if 2drop dir? else false then
;
d# 128 buffer: search-dir
-: $copy-all ( pattern$ dir-path$ -- )
- 2>r
+: $copy-all ( pattern$ dir$ -- )
+ 2>r ( pattern$ r: dir$ )
2r@ is-dir? 0= abort" The destination for pattern copies must be a directory"
- 2dup canonical-path file&dir 2nip search-dir place
- begin-search begin another-match? while ( 8attributes name$ )
- 2>r dir? if ( )
- ." Not copying the directory: " 2r> type cr
- else
- search-dir count source$ pack
- 2r> source$ $cat
- source$ count 2r@ $copy-to-dir
- then
- repeat
- 2r> 2drop
+ 2dup canonical-path ( pattern$ canonical$ r: dir$ )
+ file&dir 2nip search-dir place \ note source dir ( pattern$ r: dir$ )
+ begin-search begin another-match? while ( 8attributes name$ r: dir$ )
+ 2>r dir? if ( r: dir$ name$ )
+ ." Not copying the directory: " 2r> type cr ( r: dir$ )
+ else ( r: dir$ name$ )
+ search-dir count source$ place ( r: dir$ name$ )
+ 2r> source$ $cat ( r: dir$ )
+ source$ count 2r@ $copy-to-dir ( r: dir$ )
+ then ( r: dir$ )
+ repeat ( r: dir$ )
+ 2r> 2drop ( )
;
: $copy2 ( path$1 path$2 -- )
More information about the openfirmware
mailing list