]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[efi] Add efi_sprintf() and efi_vsprintf()
authorMichael Brown <mcb30@ipxe.org>
Wed, 12 Apr 2017 14:01:56 +0000 (15:01 +0100)
committerMichael Brown <mcb30@ipxe.org>
Wed, 12 Apr 2017 14:01:56 +0000 (15:01 +0100)
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/include/ipxe/efi/efi_strings.h

index 2f241537e7848c688616557d8f0508ad6f261871..a8ace45e740daeb15afe017570656a9a1a46a342 100644 (file)
@@ -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 */