projects
/
apps
/
madmutt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
simplify hooks code a lot.
[apps/madmutt.git]
/
charset.c
diff --git
a/charset.c
b/charset.c
index
cd672b5
..
11441e4
100644
(file)
--- a/
charset.c
+++ b/
charset.c
@@
-25,29
+25,12
@@
* please see the file GPL in the top level source directory.
*/
* please see the file GPL in the top level source directory.
*/
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <ctype.h>
+#include <lib-lib/lib-lib.h>
-#include <sys/types.h>
-#include <dirent.h>
-#include <unistd.h>
-#include <errno.h>
#ifdef HAVE_LANGINFO_CODESET
# include <langinfo.h>
#endif
#ifdef HAVE_LANGINFO_CODESET
# include <langinfo.h>
#endif
-#include <lib-lib/mem.h>
-#include <lib-lib/ascii.h>
-#include <lib-lib/str.h>
-#include <lib-lib/macros.h>
-
#include "mutt.h"
#include "charset.h"
#include "mutt.h"
#include "charset.h"
@@
-67,8
+50,8
@@
wchar_t CharsetReplacement = '?';
void charset_initialize(void)
{
#ifdef HAVE_LANGINFO_CODESET
void charset_initialize(void)
{
#ifdef HAVE_LANGINFO_CODESET
- char buff[S
HORT_S
TRING];
- char buff2[S
HORT_S
TRING];
+ char buff[STRING];
+ char buff2[STRING];
m_strcpy(buff, sizeof(buff), nl_langinfo(CODESET));
charset_canonicalize(buff2, sizeof(buff2), buff);
m_strcpy(buff, sizeof(buff), nl_langinfo(CODESET));
charset_canonicalize(buff2, sizeof(buff2), buff);
@@
-82,7
+65,7
@@
void charset_initialize(void)
m_strreplace(&Charset, "iso-8859-1");
}
m_strreplace(&Charset, "iso-8859-1");
}
- Charset_is_utf8 = !strcmp(Charset, "utf-8");
+ Charset_is_utf8 = !
m_
strcmp(Charset, "utf-8");
CharsetReplacement = Charset_is_utf8 ? 0xfffd : '?';
#ifdef HAVE_BIND_TEXTDOMAIN_CODESET
CharsetReplacement = Charset_is_utf8 ? 0xfffd : '?';
#ifdef HAVE_BIND_TEXTDOMAIN_CODESET
@@
-94,10
+77,15
@@
void charset_initialize(void)
void charset_canonicalize(char *dest, ssize_t dlen, const char *name)
{
const struct cset_pair *cp;
void charset_canonicalize(char *dest, ssize_t dlen, const char *name)
{
const struct cset_pair *cp;
- char scratch[S
HORT_S
TRING];
+ char scratch[STRING];
const char *p;
int i = 0;
const char *p;
int i = 0;
+ if (!name) {
+ m_strcpy(dest, dlen, "us-ascii");
+ return;
+ }
+
// canonize name: only keep a-z0-9 and dots, put into lowercase
for (p = name; *p && *p != ':' && i < ssizeof(scratch) - 1; p++) {
if (isalnum(*p) || *p== '.') {
// canonize name: only keep a-z0-9 and dots, put into lowercase
for (p = name; *p && *p != ':' && i < ssizeof(scratch) - 1; p++) {
if (isalnum(*p) || *p== '.') {
@@
-118,7
+106,7
@@
void charset_canonicalize(char *dest, ssize_t dlen, const char *name)
/* XXX: MC: UGLY return of local static */
const char *charset_getfirst(const char *charset)
{
/* XXX: MC: UGLY return of local static */
const char *charset_getfirst(const char *charset)
{
- static char fcharset[S
HORT_S
TRING];
+ static char fcharset[STRING];
const char *p;
if (m_strisempty(charset))
const char *p;
if (m_strisempty(charset))
@@
-129,25
+117,18
@@
const char *charset_getfirst(const char *charset)
return fcharset;
}
return fcharset;
}
-static int mutt_chscmp(const char *s, const char *chs)
-{
- char buffer[SHORT_STRING];
-
- if (!s)
- return 0;
-
- charset_canonicalize(buffer, sizeof(buffer), s);
- return !strcmp(buffer, chs);
-}
-
int charset_is_utf8(const char *s)
{
int charset_is_utf8(const char *s)
{
- return mutt_chscmp(s, "utf-8");
+ char buf[STRING];
+ charset_canonicalize(buf, sizeof(buf), s);
+ return !m_strcmp(buf, "utf-8");
}
int charset_is_us_ascii(const char *s)
{
}
int charset_is_us_ascii(const char *s)
{
- return mutt_chscmp(s, "us-ascii");
+ char buf[STRING];
+ charset_canonicalize(buf, sizeof(buf), s);
+ return !m_strcmp(buf, "us-ascii");
}
}
@@
-158,8
+139,8
@@
int charset_is_us_ascii(const char *s)
/* Like iconv_open, but canonicalises the charsets */
iconv_t mutt_iconv_open(const char *tocode, const char *fromcode, int flags)
{
/* Like iconv_open, but canonicalises the charsets */
iconv_t mutt_iconv_open(const char *tocode, const char *fromcode, int flags)
{
- char tocode1[S
HORT_S
TRING];
- char fromcode1[S
HORT_S
TRING];
+ char tocode1[STRING];
+ char fromcode1[STRING];
const char *tmp;
iconv_t cd;
const char *tmp;
iconv_t cd;