Author: imp
Date: Fri May 20 19:37:46 2016
New Revision: 300328
URL: https://svnweb.freebsd.org/changeset/base/300328

Log:
  Cleanup to use %S.

Modified:
  head/sys/boot/efi/loader/main.c

Modified: head/sys/boot/efi/loader/main.c
==============================================================================
--- head/sys/boot/efi/loader/main.c     Fri May 20 19:30:52 2016        
(r300327)
+++ head/sys/boot/efi/loader/main.c     Fri May 20 19:37:46 2016        
(r300328)
@@ -75,20 +75,6 @@ EFI_GUID inputid = SIMPLE_TEXT_INPUT_PRO
 static void efi_zfs_probe(void);
 #endif
 
-/*
- * Need this because EFI uses UTF-16 unicode string constants, but we
- * use UTF-8. We can't use printf due to the possibility of \0 and we
- * don't support support wide characters either.
- */
-static void
-print_str16(const CHAR16 *str)
-{
-       int i;
-
-       for (i = 0; str[i]; i++)
-               printf("%c", (char)str[i]);
-}
-
 static void
 cp16to8(const CHAR16 *src, char *dst, size_t len)
 {
@@ -96,6 +82,8 @@ cp16to8(const CHAR16 *src, char *dst, si
 
        for (i = 0; i < len && src[i]; i++)
                dst[i] = (char)src[i];
+       if (i < len)
+               dst[i] = '\0';
 }
 
 static int
@@ -330,10 +318,8 @@ main(int argc, CHAR16 *argv[])
        BS->HandleProtocol(IH, &imgid, (VOID**)&img);
 
        printf("Command line arguments:");
-       for (i = 0; i < argc; i++) {
-               printf(" ");
-               print_str16(argv[i]);
-       }
+       for (i = 0; i < argc; i++)
+               printf(" %S", argv[i]);
        printf("\n");
 
        printf("Image base: 0x%lx\n", (u_long)img->ImageBase);
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to