From a8c4823ecc2869a4fb71eb2cf6c5e53abe2f7233 Mon Sep 17 00:00:00 2001 From: Kiyoshi Aman Date: Sun, 2 Jun 2019 05:48:43 -0500 Subject: usr.bin/iconv: remove as it is handled separately --- usr.bin/iconv/iconv.1 | 122 -------------------------- usr.bin/iconv/iconv.c | 236 -------------------------------------------------- 2 files changed, 358 deletions(-) delete mode 100644 usr.bin/iconv/iconv.1 delete mode 100644 usr.bin/iconv/iconv.c (limited to 'usr.bin/iconv') diff --git a/usr.bin/iconv/iconv.1 b/usr.bin/iconv/iconv.1 deleted file mode 100644 index 69a4dcc..0000000 --- a/usr.bin/iconv/iconv.1 +++ /dev/null @@ -1,122 +0,0 @@ -.\" $NetBSD: iconv.1,v 1.5 2013/05/12 12:25:12 rodent Exp $ -.\" -.\" Copyright (c)2003 Citrus Project, -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.Dd March 20, 2008 -.Dt ICONV 1 -.Os -.\" ---------------------------------------------------------------------- -.Sh NAME -.Nm iconv -.Nd codeset conversion utility -.\" ---------------------------------------------------------------------- -.Sh SYNOPSIS -.Nm -.Op Fl cs -.Fl f -.Ar from_name -.Fl t -.Ar to_name -.Op Ar file ... -.Nm -.Fl f -.Ar from_name -.Op Fl cs -.Op Fl t Ar to_name -.Op Ar file ... -.Nm -.Fl t -.Ar to_name -.Op Fl cs -.Op Fl f Ar from_name -.Op Ar file ... -.Nm -.Fl l -.\" ---------------------------------------------------------------------- -.Sh DESCRIPTION -The -.Nm -utility converts the codeset of -.Ar file -(or from standard input if no file is specified) from codeset -.Ar from_name -to codeset -.Ar to_name -and outputs the -converted text on standard output. -.Pp -The following options are available: -.Bl -tag -width 0123 -.It Fl c -Prevent output of any invalid characters. -By default, -.Nm -outputs an -.Dq invalid character -specified by the -.Ar to_name -codeset when it encounters a character which is valid in the -.Ar from_name -codeset but does not have a corresponding character in the -.Ar to_name -codeset. -.It Fl f -Specifies the source codeset name as -.Ar from_name . -.It Fl l -Lists available codeset names. -Note that not all combinations of -.Ar from_name -and -.Ar to_name -are valid. -.It Fl s -Silent. -By default, -.Nm -outputs the number of -.Dq invalid characters -to standard error if they exist. -This option prevents this behaviour. -.It Fl t -Specifies the destination codeset name as -.Ar to_name . -.El -.\" ---------------------------------------------------------------------- -.Sh EXIT STATUS -.Ex -std iconv -.\" ---------------------------------------------------------------------- -.Sh SEE ALSO -.Xr iconv 3 -.\" ---------------------------------------------------------------------- -.Sh STANDARDS -.Nm -conforms to -.St -p1003.1-2001 . -.\" ---------------------------------------------------------------------- -.Sh HISTORY -.Nm -first appeared in -.Nx 2.0 . diff --git a/usr.bin/iconv/iconv.c b/usr.bin/iconv/iconv.c deleted file mode 100644 index dd9a5d4..0000000 --- a/usr.bin/iconv/iconv.c +++ /dev/null @@ -1,236 +0,0 @@ -/* $NetBSD: iconv.c,v 1.19 2013/10/07 02:00:46 dholland Exp $ */ - -/*- - * Copyright (c)2003 Citrus Project, - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: iconv.c,v 1.19 2013/10/07 02:00:46 dholland Exp $"); -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -static void usage(void) __dead; -static int scmp(const void *, const void *); -static void show_codesets(void); -static void do_conv(const char *, FILE *, const char *, const char *, int, int); - -static void -usage(void) -{ - (void)fprintf(stderr, - "Usage:\t%1$s [-cs] -f -t [file ...]\n" - "\t%1$s -f [-cs] [-t ] [file ...]\n" - "\t%1$s -t [-cs] [-f ] [file ...]\n" - "\t%1$s -l\n", getprogname()); - exit(1); -} - -/* - * qsort() helper function - */ -static int -scmp(const void *v1, const void *v2) -{ - const char * const *s1 = v1; - const char * const *s2 = v2; - - return strcasecmp(*s1, *s2); -} - -static void -show_codesets(void) -{ - char **list; - size_t sz, i; - - if (__iconv_get_list(&list, &sz)) - err(EXIT_FAILURE, "__iconv_get_list()"); - - qsort(list, sz, sizeof(char *), scmp); - - for (i = 0; i < sz; i++) - (void)printf("%s\n", list[i]); - - __iconv_free_list(list, sz); -} - -#define INBUFSIZE 1024 -#define OUTBUFSIZE (INBUFSIZE * 2) -/*ARGSUSED*/ -static void -do_conv(const char *fn, FILE *fp, const char *from, const char *to, int silent, - int hide_invalid) -{ - char inbuf[INBUFSIZE], outbuf[OUTBUFSIZE], *out; - const char *in; - size_t inbytes, outbytes, ret, invalids; - iconv_t cd; - uint32_t flags = 0; - int serrno; - - if (hide_invalid) - flags |= __ICONV_F_HIDE_INVALID; - cd = iconv_open(to, from); - if (cd == (iconv_t)-1) - err(EXIT_FAILURE, "iconv_open(%s, %s)", to, from); - - invalids = 0; - while ((inbytes = fread(inbuf, 1, INBUFSIZE, fp)) > 0) { - in = inbuf; - while (inbytes > 0) { - size_t inval; - - out = outbuf; - outbytes = OUTBUFSIZE; - ret = __iconv(cd, &in, &inbytes, &out, &outbytes, - flags, &inval); - serrno = errno; - invalids += inval; - if (outbytes < OUTBUFSIZE) - (void)fwrite(outbuf, 1, OUTBUFSIZE - outbytes, - stdout); - errno = serrno; - if (ret == (size_t)-1 && errno != E2BIG) { - /* - * XXX: iconv(3) is bad interface. - * invalid character count is lost here. - * instead, we just provide __iconv function. - */ - if (errno != EINVAL || in == inbuf) - err(EXIT_FAILURE, "iconv()"); - - /* incomplete input character */ - (void)memmove(inbuf, in, inbytes); - ret = fread(inbuf + inbytes, 1, - INBUFSIZE - inbytes, fp); - if (ret == 0) { - fflush(stdout); - if (feof(fp)) - errx(EXIT_FAILURE, - "unexpected end of file; " - "the last character is " - "incomplete."); - else - err(EXIT_FAILURE, "fread()"); - } - in = inbuf; - inbytes += ret; - } - } - } - /* reset the shift state of the output buffer */ - outbytes = OUTBUFSIZE; - out = outbuf; - ret = iconv(cd, NULL, NULL, &out, &outbytes); - if (ret == (size_t)-1) - err(EXIT_FAILURE, "iconv()"); - if (outbytes < OUTBUFSIZE) - (void)fwrite(outbuf, 1, OUTBUFSIZE - outbytes, stdout); - - if (invalids > 0 && !silent) - warnx("warning: invalid characters: %lu", - (unsigned long)invalids); - - iconv_close(cd); -} - -int -main(int argc, char **argv) -{ - int ch, i; - int opt_l = 0, opt_s = 0, opt_c = 0; - char *opt_f = NULL, *opt_t = NULL; - FILE *fp; - - setlocale(LC_ALL, ""); - setprogname(argv[0]); - - while ((ch = getopt(argc, argv, "cslf:t:")) != EOF) { - switch (ch) { - case 'c': - opt_c = 1; - break; - case 's': - opt_s = 1; - break; - case 'l': - /* list */ - opt_l = 1; - break; - case 'f': - /* from */ - opt_f = estrdup(optarg); - break; - case 't': - /* to */ - opt_t = estrdup(optarg); - break; - default: - usage(); - } - } - argc -= optind; - argv += optind; - if (opt_l) { - if (argc > 0 || opt_s || opt_f != NULL || opt_t != NULL) { - warnx("-l is not allowed with other flags."); - usage(); - } - show_codesets(); - } else { - if (opt_f == NULL) { - if (opt_t == NULL) - usage(); - opt_f = nl_langinfo(CODESET); - } else if (opt_t == NULL) - opt_t = nl_langinfo(CODESET); - - if (argc == 0) - do_conv("", stdin, opt_f, opt_t, opt_s, opt_c); - else { - for (i = 0; i < argc; i++) { - fp = fopen(argv[i], "r"); - if (fp == NULL) - err(EXIT_FAILURE, "Cannot open `%s'", - argv[i]); - do_conv(argv[i], fp, opt_f, opt_t, opt_s, - opt_c); - (void)fclose(fp); - } - } - } - return EXIT_SUCCESS; -} -- cgit v1.2.3-60-g2f50