diff options
author | Michael Brown <mcb30@ipxe.org> | 2023-05-22 13:35:34 +0100 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2023-05-22 15:10:16 +0100 |
commit | ce2200d5fb3d337c7fc7e8ff337c2ddf7645ba89 (patch) | |
tree | 500327d40c308f8259f98ad6968f6d92a4571420 /src/image | |
parent | c4a8d90387437425faec91bdee42a254944bab76 (diff) | |
download | ipxe-ce2200d5fb3d337c7fc7e8ff337c2ddf7645ba89.tar.gz |
[efi] Add efi_asprintf() and efi_vasprintf()
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/image')
-rw-r--r-- | src/image/efi_image.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/image/efi_image.c b/src/image/efi_image.c index 6a7bba014..437134035 100644 --- a/src/image/efi_image.c +++ b/src/image/efi_image.c @@ -109,18 +109,14 @@ efi_image_path ( struct image *image, EFI_DEVICE_PATH_PROTOCOL *parent ) { */ static wchar_t * efi_image_cmdline ( struct image *image ) { wchar_t *cmdline; - size_t len; - len = ( strlen ( image->name ) + - ( image->cmdline ? - ( 1 /* " " */ + strlen ( image->cmdline ) ) : 0 ) ); - cmdline = zalloc ( ( len + 1 /* NUL */ ) * sizeof ( wchar_t ) ); - if ( ! cmdline ) + /* Allocate and construct command line */ + if ( efi_asprintf ( &cmdline, "%s%s%s", image->name, + ( image->cmdline ? " " : "" ), + ( image->cmdline ? image->cmdline : "" ) ) < 0 ) { return NULL; - efi_snprintf ( cmdline, ( len + 1 /* NUL */ ), "%s%s%s", - image->name, - ( image->cmdline ? " " : "" ), - ( image->cmdline ? image->cmdline : "" ) ); + } + return cmdline; } |