-
/*
* check_charset.c -- routines for character sets
*
char *
get_charset ()
{
- char *charset = getenv ("MM_CHARSET");
+ char *charset = getenv ("MM_CHARSET");
#if defined(HAVE_NL_LANGINFO) && defined(CODESET)
- if (!charset)
- charset = norm_charmap(nl_langinfo (CODESET));
+ if (!charset)
+ charset = norm_charmap(nl_langinfo (CODESET));
#endif
- return charset;
+ return charset;
}
*/
int
-check_charset (char *str, int len)
+check_charset (char *str, int len)
{
- static char *mm_charset = NULL;
- static char *alt_charset = NULL;
- static int mm_len;
- static int alt_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);
+ /* 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);
+ /* 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;
+ /* 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 0;
}
char *
write_charset_8bit (void)
{
- static char *mm_charset = NULL;
+ 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";
+ /*
+ * 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;
+ return mm_charset;
}