svn commit: r356041 - head/usr.sbin/fstyp

Conrad Meyer cem at FreeBSD.org
Mon Dec 23 20:23:04 UTC 2019


Author: cem
Date: Mon Dec 23 20:23:02 2019
New Revision: 356041
URL: https://svnweb.freebsd.org/changeset/base/356041

Log:
  fstyp(8): Fix WITHOUT_ICONV build
  
  Reported by:	olivier

Modified:
  head/usr.sbin/fstyp/Makefile
  head/usr.sbin/fstyp/apfs.c
  head/usr.sbin/fstyp/exfat.c
  head/usr.sbin/fstyp/fstyp.c
  head/usr.sbin/fstyp/hfsplus.c
  head/usr.sbin/fstyp/ntfs.c

Modified: head/usr.sbin/fstyp/Makefile
==============================================================================
--- head/usr.sbin/fstyp/Makefile	Mon Dec 23 20:19:23 2019	(r356040)
+++ head/usr.sbin/fstyp/Makefile	Mon Dec 23 20:23:02 2019	(r356041)
@@ -13,6 +13,10 @@ MAN=	fstyp.8
 
 WARNS?=	2
 
+.if ${MK_ICONV} == "yes"
+CFLAGS+=	-DWITH_ICONV
+.endif
+
 .include <bsd.endian.mk>
 
 .if ${TARGET_ENDIANNESS} == 1234

Modified: head/usr.sbin/fstyp/apfs.c
==============================================================================
--- head/usr.sbin/fstyp/apfs.c	Mon Dec 23 20:19:23 2019	(r356040)
+++ head/usr.sbin/fstyp/apfs.c	Mon Dec 23 20:23:02 2019	(r356041)
@@ -29,7 +29,6 @@ __FBSDID("$FreeBSD$");
 #include <assert.h>
 #include <err.h>
 #include <errno.h>
-#include <iconv.h>
 #include <stdbool.h>
 #include <stdint.h>
 #include <stdio.h>

Modified: head/usr.sbin/fstyp/exfat.c
==============================================================================
--- head/usr.sbin/fstyp/exfat.c	Mon Dec 23 20:19:23 2019	(r356040)
+++ head/usr.sbin/fstyp/exfat.c	Mon Dec 23 20:23:02 2019	(r356041)
@@ -33,7 +33,9 @@ __FBSDID("$FreeBSD$");
 #include <assert.h>
 #include <err.h>
 #include <errno.h>
+#ifdef WITH_ICONV
 #include <iconv.h>
+#endif
 #include <stdbool.h>
 #include <stdint.h>
 #include <stdio.h>
@@ -184,6 +186,7 @@ exfat_compute_boot_chksum(FILE *fp, unsigned region, u
 	return (0);
 }
 
+#ifdef WITH_ICONV
 static void
 convert_label(const uint16_t *ucs2label /* LE */, unsigned ucs2len, char
     *label_out, size_t label_sz)
@@ -316,6 +319,7 @@ exfat_find_label(FILE *fp, const struct exfat_vbr *ev,
 		free(declust);
 	}
 }
+#endif /* WITH_ICONV */
 
 int
 fstyp_exfat(FILE *fp, char *label, size_t size)
@@ -356,8 +360,10 @@ fstyp_exfat(FILE *fp, char *label, size_t size)
 		goto done;
 	}
 
+#ifdef WITH_ICONV
 	if (show_label)
 		exfat_find_label(fp, ev, bytespersec, label, size);
+#endif
 
 done:
 	free(cksect);

Modified: head/usr.sbin/fstyp/fstyp.c
==============================================================================
--- head/usr.sbin/fstyp/fstyp.c	Mon Dec 23 20:19:23 2019	(r356040)
+++ head/usr.sbin/fstyp/fstyp.c	Mon Dec 23 20:23:02 2019	(r356041)
@@ -38,7 +38,9 @@ __FBSDID("$FreeBSD$");
 #include <capsicum_helpers.h>
 #include <err.h>
 #include <errno.h>
+#ifdef WITH_ICONV
 #include <iconv.h>
+#endif
 #include <locale.h>
 #include <stdbool.h>
 #include <stddef.h>
@@ -199,6 +201,7 @@ main(int argc, char **argv)
 		err(1, "setlocale");
 	caph_cache_catpages();
 
+#ifdef WITH_ICONV
 	/* Cache iconv conversion data before entering capability mode. */
 	if (show_label) {
 		for (i = 0; i < nitems(fstypes); i++) {
@@ -214,6 +217,7 @@ main(int argc, char **argv)
 			iconv_close(cd);
 		}
 	}
+#endif
 
 	fp = fopen(path, "r");
 	if (fp == NULL)

Modified: head/usr.sbin/fstyp/hfsplus.c
==============================================================================
--- head/usr.sbin/fstyp/hfsplus.c	Mon Dec 23 20:19:23 2019	(r356040)
+++ head/usr.sbin/fstyp/hfsplus.c	Mon Dec 23 20:23:02 2019	(r356041)
@@ -29,7 +29,6 @@ __FBSDID("$FreeBSD$");
 #include <assert.h>
 #include <err.h>
 #include <errno.h>
-#include <iconv.h>
 #include <stdbool.h>
 #include <stdint.h>
 #include <stdio.h>

Modified: head/usr.sbin/fstyp/ntfs.c
==============================================================================
--- head/usr.sbin/fstyp/ntfs.c	Mon Dec 23 20:19:23 2019	(r356040)
+++ head/usr.sbin/fstyp/ntfs.c	Mon Dec 23 20:23:02 2019	(r356041)
@@ -32,7 +32,9 @@
 __FBSDID("$FreeBSD$");
 
 #include <err.h>
+#ifdef WITH_ICONV
 #include <iconv.h>
+#endif
 #include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -94,6 +96,7 @@ struct ntfs_bootfile {
 	uint32_t	bf_volsn;
 } __packed;
 
+#ifdef WITH_ICONV
 static void
 convert_label(const void *label /* LE */, size_t labellen, char *label_out,
     size_t label_sz)
@@ -125,6 +128,7 @@ convert_label(const void *label /* LE */, size_t label
 
 	iconv_close(cd);
 }
+#endif
 
 int
 fstyp_ntfs(FILE *fp, char *label, size_t size)
@@ -142,6 +146,7 @@ fstyp_ntfs(FILE *fp, char *label, size_t size)
 	bf = (struct ntfs_bootfile *)read_buf(fp, 0, 512);
 	if (bf == NULL || strncmp(bf->bf_sysid, "NTFS    ", 8) != 0)
 		goto fail;
+#ifdef WITH_ICONV
 	if (!show_label)
 		goto ok;
 
@@ -171,6 +176,7 @@ fstyp_ntfs(FILE *fp, char *label, size_t size)
 	}
 
 ok:
+#endif /* WITH_ICONV */
 	free(bf);
 	free(filerecp);
 


More information about the svn-src-head mailing list