From a82f93748545427cd7f104f107be1663c55a35fd Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 12 Apr 2017 15:01:56 +0100 Subject: [PATCH] [efi] Add efi_sprintf() and efi_vsprintf() Signed-off-by: Michael Brown --- src/include/ipxe/efi/efi_strings.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/include/ipxe/efi/efi_strings.h b/src/include/ipxe/efi/efi_strings.h index 2f241537..a8ace45e 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 */