svn commit: r257791 - head/usr.sbin/bsdconfig/share

Devin Teske dteske at FreeBSD.org
Thu Nov 7 10:47:13 UTC 2013


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


More information about the svn-src-all mailing list