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()
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to