Author: dteske
Date: Mon Mar  3 07:28:56 2014
New Revision: 262703
URL: http://svnweb.freebsd.org/changeset/base/262703

Log:
  MFC r258269: Refactor draw-beastie function.
  
  Discussed on: -hackers

Modified:
  stable/10/sys/boot/forth/beastie.4th
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/boot/forth/beastie.4th
==============================================================================
--- stable/10/sys/boot/forth/beastie.4th        Mon Mar  3 07:24:50 2014        
(r262702)
+++ stable/10/sys/boot/forth/beastie.4th        Mon Mar  3 07:28:56 2014        
(r262703)
@@ -202,56 +202,26 @@ variable logoY
                drop
        then
 
-       s" loader_logo" getenv dup -1 = if
-               logoX @ logoY @
-               loader_color? if
-                       orb-logo
-               else
-                       orbbw-logo
-               then
-               drop exit
-       then
-
-       2dup s" beastie" compare-insensitive 0= if
-               logoX @ logoY @ beastie-logo
-               2drop exit
-       then
-       2dup s" beastiebw" compare-insensitive 0= if
-               logoX @ logoY @ beastiebw-logo
-               2drop exit
-       then
-       2dup s" fbsdbw" compare-insensitive 0= if
-               logoX @ logoY @ fbsdbw-logo
-               2drop exit
-       then
-       2dup s" orb" compare-insensitive 0= if
-               logoX @ logoY @ orb-logo
-               2drop exit
-       then
-       2dup s" orbbw" compare-insensitive 0= if
-               logoX @ logoY @ orbbw-logo
-               2drop exit
-       then
-       2dup s" tribute" compare-insensitive 0= if
-               logoX @ logoY @
-               s" tribute-logo" sfind if
-                       execute
-               else
-                       drop orb-logo
-               then
-               2drop exit
+       s" loader_logo" getenv dup -1 <> if
+               dup 5 + allocate if ENOMEM throw then
+               0 2swap strcat s" -logo" strcat
+               over -rot ( a-addr/u -- a-addr a-addr/u )
+               sfind     ( a-addr a-addr/u -- a-addr xt bool )
+               rot       ( a-addr xt bool -- xt bool a-addr )
+               free      ( xt bool a-addr -- xt bool ior )
+               if EFREE throw then
+       else
+               0 ( cruft -- cruft bool ) \ load the default below
        then
-       2dup s" tributebw" compare-insensitive 0= if
-               logoX @ logoY @
-               s" tributebw-logo" sfind if
-                       execute
+       0= if
+               drop ( cruft -- )
+               loader_color? if
+                       ['] orb-logo
                else
-                       drop orbbw-logo
+                       ['] orbbw-logo
                then
-               2drop exit
        then
-
-       2drop
+       logoX @ logoY @ rot execute
 ;
 
 : clear-beastie ( -- ) \ clears beastie from the screen
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to