summaryrefslogtreecommitdiff
path: root/roundcubemail/program/include
diff options
context:
space:
mode:
authorthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2006-09-04 12:26:30 +0000
committerthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2006-09-04 12:26:30 +0000
commit2f7e7b8c4d59ae6c0389bab08eb13a5a9f95557e (patch)
tree07be3873908fbc5413fa018bfc4603411e6eba8a /roundcubemail/program/include
parent77d16b46a9a76581d8f20bd8e1c6ee39bd5aff54 (diff)
Little improvements for message parsing and encoding
git-svn-id: https://svn.roundcube.net/trunk@336 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include')
-rw-r--r--roundcubemail/program/include/main.inc2
-rw-r--r--roundcubemail/program/include/rcube_imap.inc5
2 files changed, 4 insertions, 3 deletions
diff --git a/roundcubemail/program/include/main.inc b/roundcubemail/program/include/main.inc
index 921494829..ae7d50b9f 100644
--- a/roundcubemail/program/include/main.inc
+++ b/roundcubemail/program/include/main.inc
@@ -842,7 +842,7 @@ function rcube_charset_convert($str, $from, $to=NULL)
$from = strtoupper($from);
$to = $to==NULL ? strtoupper($GLOBALS['CHARSET']) : strtoupper($to);
- if ($from==$to || $str=='')
+ if ($from==$to || $str=='' || empty($from))
return $str;
// convert charset using mbstring module
diff --git a/roundcubemail/program/include/rcube_imap.inc b/roundcubemail/program/include/rcube_imap.inc
index bcbea816e..c4dfd2023 100644
--- a/roundcubemail/program/include/rcube_imap.inc
+++ b/roundcubemail/program/include/rcube_imap.inc
@@ -1010,10 +1010,11 @@ class rcube_imap
// get part size
if (!empty($part[6]) && $part[6]!='NIL')
$struct->size = intval($part[6]);
-
+
// read part disposition
$di = count($part) - 2;
- if (is_array($part[$di]))
+ if ((is_array($part[$di]) && count($part[$di]) == 2 && is_array($part[$di][1])) ||
+ (is_array($part[--$di]) && count($part[$di]) == 2))
{
$struct->disposition = strtolower($part[$di][0]);