merge efi_asprintf()
diff --git a/src/image/efi_image.c b/src/image/efi_image.c index 0ca4960..039ac8f 100644 --- a/src/image/efi_image.c +++ b/src/image/efi_image.c
@@ -111,18 +111,14 @@ */ 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; }