Rework in charset code. (Includes renaming.)
[mmh] / sbr / check_charset.c
diff --git a/sbr/check_charset.c b/sbr/check_charset.c
deleted file mode 100644 (file)
index d11d772..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
-** check_charset.c -- routines for character sets
-**
-** This code is Copyright (c) 2002, by the authors of nmh.  See the
-** COPYRIGHT file in the root directory of the nmh distribution for
-** complete copyright information.
-*/
-
-#include <h/mh.h>
-#ifdef HAVE_LANGINFO_H
-# include <langinfo.h>
-#endif
-
-
-/*
-** Get the current character set
-*/
-char *
-get_charset()
-{
-       char *charset = getenv("MM_CHARSET");
-#if defined(HAVE_NL_LANGINFO) && defined(CODESET)
-       if (!charset)
-               charset = norm_charmap(nl_langinfo(CODESET));
-#endif
-       return charset;
-}
-
-
-/*
-** Check if we can display a given character set natively.
-** We are passed the length of the initial part of the
-** string to check, since we want to allow the name of the
-** character set to be a substring of a larger string.
-*/
-
-int
-check_charset(char *str, int len)
-{
-       static char *mm_charset = NULL;
-       static char *alt_charset = NULL;
-       static int mm_len;
-       static int alt_len;
-
-       /* Cache the name of our default character set */
-       if (!mm_charset) {
-               if (!(mm_charset = get_charset()))
-                       mm_charset = "US-ASCII";
-               mm_len = strlen(mm_charset);
-
-               /* US-ASCII is a subset of the ISO-8859-X and UTF-8 character sets */
-               if (!strncasecmp("ISO-8859-", mm_charset, 9) ||
-                       !mh_strcasecmp("UTF-8", mm_charset)) {
-                       alt_charset = "US-ASCII";
-                       alt_len = strlen(alt_charset);
-               }
-       }
-
-       /* Check if character set is OK */
-       if ((len == mm_len) && !strncasecmp(str, mm_charset, mm_len))
-               return 1;
-       if (alt_charset && (len == alt_len) && !strncasecmp(str, alt_charset, alt_len))
-               return 1;
-
-       return 0;
-}
-
-
-/*
-** Return the name of the character set we are
-** using for 8bit text.
-*/
-char *
-write_charset_8bit(void)
-{
-       static char *mm_charset = NULL;
-
-       /*
-       ** Cache the name of the character set to
-       ** use for 8bit text.
-       */
-       if (!mm_charset && !(mm_charset = get_charset()))
-               mm_charset = "x-unknown";
-
-       return mm_charset;
-}