Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Mar 2014 07:28:56 +0000 (UTC)
From:      Devin Teske <dteske@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r262703 - stable/10/sys/boot/forth
Message-ID:  <201403030728.s237Sun8078170@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403030728.s237Sun8078170>