Changeset 3062

Show
Ignore:
Timestamp:
12/02/07 22:33:27
Author:
pvanhoof
Message:

Bugfixes when creating mime parts

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • devel/pvanhoof/bs/libtinymail-camel/camel-lite/camel/camel-mime-message.c

    r2950 r3062  
    634634        if (mm->from == NULL) { 
    635635                /* FIXME: should we just abort?  Should we make one up? */ 
    636                 g_warning ("No from set for message"); 
     636                /* g_warning ("No from set for message"); */ 
    637637                camel_medium_set_header ((CamelMedium *)mm, "From", ""); 
    638638        } 
  • devel/pvanhoof/bs/libtinymail-camel/tny-camel-bs-mime-part.c

    r3057 r3062  
    225225                g_warning ("Error while fetching part: %s", err->message); 
    226226                g_error_free (err); 
    227         } else 
     227        } else if (from_stream) 
    228228                decode_from_stream_to (self, from_stream, stream, binary, decode_text); 
    229229 
  • devel/pvanhoof/bs/libtinymail-camel/tny-camel-bs-msg-receive-strategy.c

    r3037 r3062  
    7777        CamelException ex = CAMEL_EXCEPTION_INITIALISER; 
    7878        char *filename; 
    79         CamelFolder *cfolder = _tny_camel_folder_get_camel_folder (TNY_CAMEL_FOLDER (folder)); 
    80  
    81         /* TODO: play with IMAP's CONVERT here ... */ 
    82  
    83         filename = camel_folder_fetch (cfolder, uid, part_spec?part_spec:"1", binary, &ex); 
    84  
    85         if (camel_exception_is_set (&ex)) { 
    86                 g_set_error (err, TNY_FOLDER_ERROR,  
    87                         TNY_FOLDER_ERROR_GET_MSG, 
    88                         camel_exception_get_description (&ex)); 
    89                 retval = NULL; 
    90         } else { 
    91                 int fd = open (filename, 0); 
    92  
    93                 if (fd == -1) { 
     79 
     80        if (part_spec)  
     81        { 
     82                CamelFolder *cfolder = _tny_camel_folder_get_camel_folder (TNY_CAMEL_FOLDER (folder)); 
     83 
     84                /* TODO: play with IMAP's CONVERT here ... */ 
     85 
     86                filename = camel_folder_fetch (cfolder, uid, part_spec?part_spec:"1", binary, &ex); 
     87 
     88                if (camel_exception_is_set (&ex)) { 
    9489                        g_set_error (err, TNY_FOLDER_ERROR,  
    9590                                TNY_FOLDER_ERROR_GET_MSG, 
    96                                 "Can't open %s for reading", filename); 
     91                                camel_exception_get_description (&ex)); 
    9792                        retval = NULL; 
    98                 } else 
    99                         retval = tny_fs_stream_new (fd); 
    100         } 
    101  
    102         if (filename) 
    103                 g_free (filename); 
     93                } else { 
     94                        int fd = open (filename, 0); 
     95 
     96                        if (fd == -1) { 
     97                                g_set_error (err, TNY_FOLDER_ERROR,  
     98                                        TNY_FOLDER_ERROR_GET_MSG, 
     99                                        "Can't open %s for reading", filename); 
     100                                retval = NULL; 
     101                        } else 
     102                                retval = tny_fs_stream_new (fd); 
     103                } 
     104 
     105                if (filename) 
     106                        g_free (filename); 
     107        } 
    104108 
    105109        return retval; 
  • devel/pvanhoof/bs/libtinymail-camel/tny-camel-header.c

    r2896 r3062  
    138138tny_camel_header_get_bcc (TnyHeader *self) 
    139139{ 
    140         g_warning ("tny_header_get_bcc: This is a summary header instance. It has no bcc.\n"); 
    141140        return NULL; 
    142141} 
  • devel/pvanhoof/bs/libtinymail-camel/tny-camel-mime-part.c

    r3060 r3062  
    285285                retval = TNY_MIME_PART (tny_camel_msg_new ()); 
    286286                if (hdr) { 
    287                         _tny_camel_msg_set_header (TNY_CAMEL_MSG (retval), hdr); 
     287                        TnyHeader *dest_header = tny_msg_get_header (TNY_MSG (retval)); 
     288                        if (tny_header_get_bcc (hdr)) 
     289                                tny_header_set_bcc (dest_header, tny_header_get_bcc (hdr)); 
     290                        if (tny_header_get_cc (hdr)) 
     291                                tny_header_set_cc (dest_header, tny_header_get_cc (hdr)); 
     292                        if (tny_header_get_from (hdr)) 
     293                                tny_header_set_from (dest_header, tny_header_get_from (hdr)); 
     294                        if (tny_header_get_replyto (hdr)) 
     295                                tny_header_set_replyto (dest_header, tny_header_get_replyto (hdr)); 
     296                        if (tny_header_get_subject (hdr)) 
     297                                tny_header_set_subject (dest_header, tny_header_get_subject (hdr)); 
     298                        if (tny_header_get_to (hdr)) 
     299                                tny_header_set_to (dest_header, tny_header_get_to (hdr)); 
     300                        tny_header_set_priority (dest_header, tny_header_get_priority (hdr)); 
    288301                        g_object_unref (hdr); 
     302                        g_object_unref (dest_header); 
    289303                } 
    290304                piece = tny_camel_mime_part_new (); 
    291                 tny_mime_part_add_part (retval, piece); 
    292305                piece_needs_unref = TRUE; 
    293306                type = NULL; 
     
    343356        g_object_unref (list); 
    344357 
    345         if (piece_needs_unref) 
     358        if (piece_needs_unref) { 
     359                tny_mime_part_add_part (retval, piece); 
    346360                g_object_unref (piece); 
     361        } 
    347362 
    348363        return retval; 
     
    693708                camel_object_unref (CAMEL_OBJECT (wrapper)); 
    694709 
    695         if (!g_ascii_strcasecmp (type, "message/rfc822")) 
     710        if (type && !g_ascii_strcasecmp (type, "message/rfc822")) 
    696711                wrapper = (CamelDataWrapper *) camel_mime_message_new (); 
    697712        else  
  • devel/pvanhoof/bs/libtinymail/tny-header.c

    r2896 r3062  
    4040#ifdef DBC /* require */ 
    4141        g_assert (TNY_IS_HEADER (self)); 
    42         if (to) 
    43                 g_assert (strlen (to) > 0); 
    4442        g_assert (TNY_HEADER_GET_IFACE (self)->set_replyto_func != NULL); 
    4543#endif 
     
    8684#ifdef DBC /* require */ 
    8785        g_assert (TNY_IS_HEADER (self)); 
    88         if (bcc) 
    89                 g_assert (strlen (bcc) > 0); 
    9086        g_assert (TNY_HEADER_GET_IFACE (self)->set_bcc_func != NULL); 
    9187#endif 
     
    113109#ifdef DBC /* require */ 
    114110        g_assert (TNY_IS_HEADER (self)); 
    115         if (cc) 
    116                 g_assert (strlen (cc) > 0); 
    117111        g_assert (TNY_HEADER_GET_IFACE (self)->set_cc_func != NULL); 
    118112#endif 
     
    139133#ifdef DBC /* require */ 
    140134        g_assert (TNY_IS_HEADER (self)); 
    141         if (from) 
    142                 g_assert (strlen (from) > 0); 
    143135        g_assert (TNY_HEADER_GET_IFACE (self)->set_from_func != NULL); 
    144136#endif 
     
    165157#ifdef DBC /* require */ 
    166158        g_assert (TNY_IS_HEADER (self)); 
    167         if (subject) 
    168                 g_assert (strlen (subject) > 0); 
    169159        g_assert (TNY_HEADER_GET_IFACE (self)->set_subject_func != NULL); 
    170160#endif 
     
    196186#ifdef DBC /* require */ 
    197187        g_assert (TNY_IS_HEADER (self)); 
    198         if (to) 
    199                 g_assert (strlen (to) > 0); 
    200188        g_assert (TNY_HEADER_GET_IFACE (self)->set_to_func != NULL); 
    201189#endif