lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

lynx-dev Addition to LYMail.c for using the American blat mailer


From: vtailor
Subject: lynx-dev Addition to LYMail.c for using the American blat mailer
Date: Wed, 05 Apr 2000 03:31:11 -0400

Enclosed are #ifdefs for LYMain.c and LYMail.c to use the American version of 
blat.exe.
It would simplify the LYMail.c code if all the other mailer versions were 
turned into calls
on blat_cmd:

In LYMain.c:

#ifdef WIN_EX
#ifndef __MINGW32__
#undef SYSTEM_MAIL
#undef SYSTEM_MAIL_FLAGS
#define SYSTEM_MAIL             "BLATJ"
#define SYSTEM_MAIL_FLAGS       ""
#endif
PUBLIC BOOLEAN focus_window = FALSE;    /* 1998/10/05 (Mon) 17:18:42 */
PUBLIC char windows_drive[4];           /* 1998/01/13 (Tue) 21:13:24 */
#endif

In LYMail.c

#ifdef __MINGW32__
PRIVATE char *blat_cmd(
        char *mail_cmd,
        char *filename,
        char *address,
        char *subject,
        char *ccaddr,
        char *mail_addr)
{
    static char *b_cmd;

    HTSprintf0(&b_cmd, "%s %s -t %s -s \"%s\" %s %s %s %s %s",
                mail_cmd,
                filename,
                address,
                subject,
                system_mail_flags,
                ccaddr? "-c" : "",
                ccaddr? ccaddr : "",
                mail_addr? (mail_addr[0]? "-f" : "") : "",
                mail_addr? (mail_addr[0]? mail_addr : "") : "");

    return b_cmd;
}

PRIVATE void blat_clean(void)
{
}

#else
static char bl_cmd_file[512];

PRIVATE char *blat_cmd(
        char *mail_cmd,
        char *filename,
        char *address,
        char *subject,
        char *ccaddr,
        char *mail_addr)
{
    FILE *fp;
    static char *b_cmd;
#ifdef __CYGWIN__
    char dosname[LY_MAXPATH];
#endif

    if ((fp = LYOpenTemp(bl_cmd_file, ".blt", "w")) == NULL) {
        HTAlert(FORM_MAILTO_FAILED);
        return NULL;
    }

#ifdef __CYGWIN__
    cygwin_conv_to_full_win32_path(filename, dosname);
    fprintf(fp, "%s\n", dosname);
#else
    fprintf(fp, "%s\n", filename);
#endif
    fprintf(fp, "-t\n%s\n", address);
    if (subject)
        fprintf(fp, "-s\n%s\n", subject);
    if (mail_addr && strlen(mail_addr) > 0) {
        fprintf(fp, "-f\n%s\n", mail_addr);
    }
    if (ccaddr && strlen(ccaddr) > 0) {
        fprintf(fp, "-c\n%s\n", ccaddr);
    }
    fclose(fp);

#ifdef __CYGWIN__
    cygwin_conv_to_full_win32_path(bl_cmd_file, dosname);
    HTSprintf0(&b_cmd, "%s \"@%s\"", mail_cmd, dosname);
#else
    HTSprintf0(&b_cmd, "%s @%s", mail_cmd, bl_cmd_file);
#endif

    return b_cmd;
}


PRIVATE void blat_clean(void)
{
    if (bl_cmd_file[0]) {
        bl_cmd_file[0] = '\0';
    }
}

#endif

reply via email to

[Prev in Thread] Current Thread [Next in Thread]