fstyp(8): Fix WITHOUT_ICONV build

Reported by:	olivier
This commit is contained in:
Conrad Meyer 2019-12-23 20:23:02 +00:00
parent 107eff5176
commit 5ab1cb52b2
6 changed files with 20 additions and 2 deletions

View File

@ -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

View File

@ -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>

View File

@ -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, unsigned bytespersec,
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, unsigned BPS,
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);

View File

@ -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)

View File

@ -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>

View File

@ -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 labellen, char *label_out,
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);