Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Nov 2013 10:47:12 +0000 (UTC)
From:      Devin Teske <dteske@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r257791 - head/usr.sbin/bsdconfig/share
Message-ID:  <201311071047.rA7AlCpx036431@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dteske
Date: Thu Nov  7 10:47:12 2013
New Revision: 257791
URL: http://svnweb.freebsd.org/changeset/base/257791

Log:
  Add f_sprintf() and f_vsprintf() to go along with previously added
  f_snprintf() and f_vsnprintf() (size-constraint) functions.

Modified:
  head/usr.sbin/bsdconfig/share/strings.subr

Modified: head/usr.sbin/bsdconfig/share/strings.subr
==============================================================================
--- head/usr.sbin/bsdconfig/share/strings.subr	Thu Nov  7 10:45:25 2013	(r257790)
+++ head/usr.sbin/bsdconfig/share/strings.subr	Thu Nov  7 10:47:12 2013	(r257791)
@@ -77,6 +77,18 @@ f_snprintf()
 	}'\' \)
 }
 
+# f_sprintf $var_to_set $format [$arguments ...]
+#
+# Similar to sprintf(3), write a string into $var_to_set using printf(1) syntax
+# (`$format [$arguments ...]').
+#
+f_sprintf()
+{
+	local __var_to_set="$1"
+	shift 1 # var_to_set
+	eval "$__var_to_set"=\$\( printf -- \"\$@\" \)
+}
+
 # f_vsnprintf $var_to_set $size $format $format_args
 #
 # Similar to vsnprintf(3), write at most $size number of bytes into $var_to_set
@@ -112,6 +124,16 @@ f_vsnprintf()
 	eval f_snprintf \"\$1\" \"\$2\" \"\$3\" $4
 }
 
+# f_vsprintf $var_to_set $format $format_args
+#
+# Similar to vsprintf(3), write a string into $var_to_set using printf(1)
+# syntax (`$format $format_args').
+#
+f_vsprintf()
+{
+	eval f_sprintf \"\$1\" \"\$2\" $3
+}
+
 # f_longest_line_length
 #
 # Simple wrapper to an awk(1) script to print the length of the longest line of



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