From: Michael Brown Date: Wed, 12 Apr 2017 14:01:56 +0000 (+0100) Subject: [efi] Add efi_sprintf() and efi_vsprintf() X-Git-Tag: v1.20.1~218 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a82f93748545427cd7f104f107be1663c55a35fd;p=thirdparty%2Fipxe.git [efi] Add efi_sprintf() and efi_vsprintf() Signed-off-by: Michael Brown --- diff --git a/src/include/ipxe/efi/efi_strings.h b/src/include/ipxe/efi/efi_strings.h index 2f241537e..a8ace45e7 100644 --- a/src/include/ipxe/efi/efi_strings.h +++ b/src/include/ipxe/efi/efi_strings.h @@ -20,4 +20,27 @@ extern int efi_vssnprintf ( wchar_t *wbuf, ssize_t swsize, const char *fmt, extern int efi_ssnprintf ( wchar_t *wbuf, ssize_t swsize, const char *fmt, ... ); +/** + * Write a formatted string to a wide-character buffer + * + * @v wbuf Buffer into which to write the string + * @v fmt Format string + * @v args Arguments corresponding to the format string + * @ret wlen Length of formatted string (in wide characters) + */ +static inline int efi_vsprintf ( wchar_t *buf, const char *fmt, va_list args ) { + return efi_vsnprintf ( buf, ~( ( size_t ) 0 ), fmt, args ); +} + +/** + * Write a formatted string to a buffer + * + * @v wbuf Buffer into which to write the string + * @v fmt Format string + * @v ... Arguments corresponding to the format string + * @ret wlen Length of formatted string (in wide characters) + */ +#define efi_sprintf( buf, fmt, ... ) \ + efi_snprintf ( (buf), ~( ( size_t ) 0 ), (fmt), ## __VA_ARGS__ ) + #endif /* _IPXE_EFI_STRINGS_H */