diff options
author | dteske <dteske@FreeBSD.org> | 2013-11-07 10:47:12 +0000 |
---|---|---|
committer | dteske <dteske@FreeBSD.org> | 2013-11-07 10:47:12 +0000 |
commit | 8207da2a55ee5a6b96d9f19671b54118379a78e5 (patch) | |
tree | 30eee8f5ccb66d1f30b02211b7e6506a240630ab | |
parent | 5d865ae5b7b82b5861d4d959c0299b01270aec0f (diff) | |
download | FreeBSD-src-8207da2a55ee5a6b96d9f19671b54118379a78e5.zip FreeBSD-src-8207da2a55ee5a6b96d9f19671b54118379a78e5.tar.gz |
Add f_sprintf() and f_vsprintf() to go along with previously added
f_snprintf() and f_vsnprintf() (size-constraint) functions.
-rw-r--r-- | usr.sbin/bsdconfig/share/strings.subr | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/usr.sbin/bsdconfig/share/strings.subr b/usr.sbin/bsdconfig/share/strings.subr index 0072aa7..25cceee 100644 --- a/usr.sbin/bsdconfig/share/strings.subr +++ b/usr.sbin/bsdconfig/share/strings.subr @@ -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 |