• Patch: Elm ME+ 2.5 PLalpha54 -> Elm ME+ 2.5 PLalpha60 [10/13] (4/6)

    From Kari Hurtta@21:1/5 to All on Thu Nov 24 20:31:08 2022
    [continued from previous message]

    + struct current_storage *storage = get_storage(mailbox,i);
    +
    + if (storage && storage->current_folder) {
    + if (selection_is_folder(XXX,
    + storage->current_folder)) { + DPRINT(Debug,4, (&Debug,
    + "save: dsn folder %S is same than open mailbox/folder %S\n",
    + buffer,
    + storage->current_folder->cur_folder_disp));
    +
    + free_string(&buffer);
    + goto nodsn;
    + }
    + }
    + }
    +
    + } else {
    + DPRINT(Debug,4, (&Debug,
    + "save: dsn folder %S not available\n",
    + buffer));
    + free_string(&buffer);
    + goto nodsn;
    + }
    +
    } else {
    ! nodsn:
    ! if (( save_by_name || save_by_alias ) &&
    ! mhdr->from &&
    ! 1 == addr_list_item_count(mhdr->from)) {
    !
    ! int group = -1;
    ! const struct address * address =
    ! addr_list_get_item(mhdr->from,0,&group);
    ! const char * addr =
    ! address_get_ascii_addr(address);
    !

    ! /** build default filename to save to **/

    ! if (save_by_alias) {
    ! const struct string *return_alias =
    ! address_to_alias(address,aview);
    !
    ! if (!return_alias)
    ! goto no_alias;
    !
    ! buffer = format_string(FRM("=%S"), return_alias);
    !
    ! } else {
    !
    ! no_alias:
    ! if (addr) {
    ! char buffer1[1000];
    !
    ! get_return_name(addr,buffer1, TRUE, sizeof buffer1);
    !
    ! buffer = format_string(FRM("=%s"), buffer1);
    ! }
    ! }
    !
    !
    ! if (select_dir_item(XXX,&buffer,NULL)) {
    ! int sc = get_storage_count(mailbox);
    !
    ! int i;
    ! for (i = 0; i < sc; i++) {
    ! struct current_storage *storage = get_storage(mailbox,i);
    !
    ! if (storage && storage->current_folder) {
    ! if (selection_is_folder(XXX,
    ! storage->current_folder)) {
    ! DPRINT(Debug,4, (&Debug,
    ! "save: default folder %S is same than open mailbox/folder %S\n",
    ! buffer,
    ! storage->current_folder->cur_folder_disp));
    !
    ! goto nodefault;
    ! }
    ! }
    ! }
    !
    ! } else {
    ! DPRINT(Debug,4, (&Debug,
    ! "save: default folder %S not available\n",
    ! buffer));
    !
    ! nodefault:
    ! free_string(&buffer);
    ! }
    }
    }
    }
    !
    /* 2 == text_only -- Not envelope information */

    /* XXX gen_browser do not take line !!!
    Index: elmME+.2.5.alpha60/src/fileio.c
    *** elmME+.2.5.alpha54/src/fileio.c Tue Apr 20 20:32:06 2021
    --- elmME+.2.5.alpha60/src/fileio.c Fri Dec 10 20:18:48 2021 ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: fileio.c,v 2.25 2021/01/16 17:58:50 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.25 $ $State: Exp $
    *
    * Modified by: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI)
    --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: fileio.c,v 2.26 2021/09/22 17:50:59 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.26 $ $State: Exp $
    *
    * Modified by: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI)
    ***************
    *** 35,40 ****
    --- 35,42 ----
    DEBUG_VAR(PgpDebug,__FILE__,"pgp");
    DEBUG_VAR(MimeDebug,__FILE__,"mime");

    + /* SHR