svn commit: r221884 - head/etc

Jilles Tjoelker jilles at FreeBSD.org
Sat May 14 12:22:59 UTC 2011


Author: jilles
Date: Sat May 14 12:22:58 2011
New Revision: 221884
URL: http://svn.freebsd.org/changeset/base/221884

Log:
  network.subr: Use printf(1) builtin for hexprint function.
  
  Now that printf(1) is a shell builtin, there is no need to emulate it
  anymore. The external printf(1) is /usr/bin/printf and therefore may not be
  available in early boot.
  
  It may be faster to use printf directly but the function is useful for
  compatibility.

Modified:
  head/etc/network.subr

Modified: head/etc/network.subr
==============================================================================
--- head/etc/network.subr	Sat May 14 12:16:09 2011	(r221883)
+++ head/etc/network.subr	Sat May 14 12:22:58 2011	(r221884)
@@ -1333,38 +1333,14 @@ get_default_if()
 #	Echo decimal number $arg (single digit) in hexadecimal format.
 hexdigit()
 {
-	if [ $1 -lt 10 ]; then
-		echo $1
-	else
-		case $1 in
-		10)	echo a ;;
-		11)	echo b ;;
-		12)	echo c ;;
-		13)	echo d ;;
-		14)	echo e ;;
-		15)	echo f ;;
-		esac
-	fi
+	printf '%x\n' "$1"
 }
 
 # hexprint arg
 #	Echo decimal number $arg (multiple digits) in hexadecimal format.
 hexprint()
 {
-	local val str dig
-	val=$1
-	str=''
-	dig=`hexdigit $((${val} & 15))`
-	str=${dig}${str}
-	val=$((${val} >> 4))
-
-	while [ ${val} -gt 0 ]; do
-		dig=`hexdigit $((${val} & 15))`
-		str=${dig}${str}
-		val=$((${val} >> 4))
-	done
-
-	echo ${str}
+	printf '%x\n' "$1"
 }
 
 is_wired_interface()


More information about the svn-src-all mailing list