• Patch: Elm ME+ 2.5 PLalpha48 -> Elm ME+ 2.5 PLalpha49 [2/9] (3/6)

    From Kari Hurtta@21:1/5 to All on Thu Jan 3 16:41:31 2019
    [continued from previous message]

    + bzero((void *)&temp,sizeof temp);
    +
    + if (wday < -1 || wday > 6)
    + return 0;
    +
    + if (month < 1 || month > 12)
    + return 0;
    + if (day < 1 || day > 31)
    + return 0;
    + if (year < 1900)
    + return 0;
    + if (hours < 0 || hours > 23)
    + return 0;
    + if (mins < 0 || mins > 59)
    + return 0;
    + if (secs < 0 || secs > 60)
    + return 0;
    + if (tz < -13*60 || tz > 13*60)
    + return 0;
    +
    + if (-1 == wday)
    + wday = wday_from_year_month_day(year,month,day);
    +
    + temp.tm_wday = wday;
    + temp.tm_sec = secs;
    + temp.tm_min = mins;
    + temp.tm_hour = hours;
    + temp.tm_mday = day;
    + temp.tm_mon = month-1;
    + temp.tm_year = year-1900;
    + temp.tm_isdst = -1; /* Not available */
    +
    + #ifdef TZNAME_USE_TM_ZONE
    + temp.tm_gmtoff = tz*60;
    + temp.tm_zone = time_zone;
    + #endif
    +
    + if (headers->expires)
    + free_expanded_expires(& (headers->expires));
    + headers->expires =
    + new_expanded_expires(NULL,&temp,-1,
    + print_date);
    +
    + return 1;
    +
    + case parse_dt_fail:
    + break;
    + }
    +
    + return 0;
    + }
    +
    void dump_expanded_address(debuglevel,text,expanded)
    int debuglevel;
    const char *text;
    ***************
    *** 972,984 ****
    }


    ! void import_mailheaders(headers)
    struct mailing_headers * headers;
    {
    int err;
    FILE *F;
    char buffer[32*1024];
    !
    if (0 != (err = can_open(user_mailheaders,"r"))) {
    DPRINT(Debug,5,(&Debug, "%s not available: %s (errno=%d)\n",
    user_mailheaders,strerror(err),err));
    --- 1224,1238 ----
    }


    ! void import_mailheaders(headers,import_mode)
    struct mailing_headers * headers;
    + enum import_mh_mode import_mode;
    {
    int err;
    FILE *F;
    char buffer[32*1024];
    ! int done = 0;
    !
    if (0 != (err = can_open(user_mailheaders,"r"))) {
    DPRINT(Debug,5,(&Debug, "%s not available: %s (errno=%d)\n",
    user_mailheaders,strerror(err),err));
    ***************
    *** 996,1046 ****

    while (0 < read_header_line(F,buffer,sizeof buffer,0)) {

    ! header_ptr header_name;
    !
    ! char *k, *k1;
    char * value1 = NULL;

    value1 = eval_backquote(buffer);

    ! if (!value1)
    continue;
    -
    - k = strchr(value1,':');
    - if (!k)
    - break;
    -
    - /* Strip whitespace before ':' */
    - k1 = k;
    - while(k1 > value1 &&
    - whitespace(*(k1-1))) {
    - k1 --;
    - *k1 = '\0';
    }
    !
    ! *k = '\0';
    ! k++;
    !
    ! /* Skip whitespace after ':' */
    ! while (whitespace(*k))
    k++;

    ! header_name = find_head