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;
}