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