diff --git a/src/elogd.c b/src/elogd.c
index 03f8a962..6aa8df1d 100755
--- a/src/elogd.c
+++ b/src/elogd.c
@@ -2274,7 +2274,7 @@ int sendmail(LOGBOOK * lbs, char *smtp_host, char *from, char *to, char *text, c
recv_string(s, str, strsize, 3000);
if (strchr(str, '\r'))
*strchr(str, '\r') = 0;
- if (atoi(str) >= 100) {
+ if (atoi(str) != 334) {
strcat(str, "\n");
if (verbose)
efputs(str);
@@ -2294,8 +2294,8 @@ int sendmail(LOGBOOK * lbs, char *smtp_host, char *from, char *to, char *text, c
strcat(str, "\r\n");
send(s, str, strlen(str), 0);
if (verbose)
- efputs(str);
- write_logfile(lbs, str);
+ efputs(decoded);
+ write_logfile(lbs, decoded);
recv_string(s, str, strsize, 3000);
if (strchr(str, '\r'))
*strchr(str, '\r') = 0;
@@ -13908,11 +13908,11 @@ void show_import_page_csv(LOGBOOK * lbs)
rsprintf("\n");
rsprintf("
\n", loc("Derive attributes from CSV file"));
- if (isparam("ignore"))
- rsprintf("\n");
+ if (isparam("notignore"))
+ rsprintf("\n");
else
- rsprintf("\n");
- rsprintf("
\n", loc("Ignore first line"));
+ rsprintf("\n");
+ rsprintf("
\n", loc("Do not ignore first line"));
rsprintf("\n");
rsprintf("
\n", loc("Preview import"));
@@ -14078,8 +14078,8 @@ void csv_import(LOGBOOK * lbs, const char *csv, const char *csvfile)
rsprintf("\n", sep);
if (isparam("head"))
rsprintf("\n", getparam("head"));
- if (isparam("ignore"))
- rsprintf("\n", getparam("ignore"));
+ if (isparam("notignore"))
+ rsprintf("\n", getparam("notignore"));
if (isparam("filltext"))
rsprintf("\n", getparam("filltext"));
rsprintf("\n", csvfile);
@@ -14116,7 +14116,7 @@ void csv_import(LOGBOOK * lbs, const char *csv, const char *csvfile)
}
/* ignore first line */
- if (first && isparam("ignore")) {
+ if (first && !isparam("notignore")) {
first = FALSE;
continue;
}
@@ -14240,29 +14240,38 @@ void csv_import(LOGBOOK * lbs, const char *csv, const char *csvfile)
} else {
- /* get date if present */
+ /* get date and check it */
strlcpy(date, list + datecol*NAME_LENGTH, sizeof(date));
-
- if (!filltext) {
- /* submit entry */
- if (el_submit
- (lbs, 0, FALSE, date, attr_list,
- (char (*)[NAME_LENGTH]) (list + attr_offset * NAME_LENGTH), n_attr, "", "", "", "plain",
- NULL, TRUE, NULL))
- n_imported++;
+ ltime = date_to_ltime(date);
+ if (ltime <= 0) {
+ strcpy(str, loc("Invalid date format"));
+ strlcat(str, ": \"", sizeof(str));
+ strlcat(str, date, sizeof(str));
+ strlcat(str, "\"", sizeof(str));
+ show_error(str);
+ return;
} else {
- strlcpy(line, list + textcol * NAME_LENGTH, 10000);
- insert_breaks(line, 78, 10000);
+ if (!filltext) {
+ /* submit entry */
+ if (el_submit
+ (lbs, 0, FALSE, date, attr_list,
+ (char (*)[NAME_LENGTH]) (list + attr_offset * NAME_LENGTH), n_attr, "", "", "", "plain",
+ NULL, TRUE, NULL))
+ n_imported++;
+ } else {
+ strlcpy(line, list + textcol * NAME_LENGTH, 10000);
+ insert_breaks(line, 78, 10000);
- for (i = textcol; i < n_attr + attr_offset; i++)
- strlcpy(list + i * NAME_LENGTH, list + (i + 1) * NAME_LENGTH, NAME_LENGTH);
+ for (i = textcol; i < n_attr + attr_offset; i++)
+ strlcpy(list + i * NAME_LENGTH, list + (i + 1) * NAME_LENGTH, NAME_LENGTH);
- /* submit entry */
- if (el_submit
- (lbs, 0, FALSE, date, attr_list,
- (char (*)[NAME_LENGTH]) (list + attr_offset * NAME_LENGTH), n_attr, line, "", "", "plain",
- NULL, TRUE, NULL))
- n_imported++;
+ /* submit entry */
+ if (el_submit
+ (lbs, 0, FALSE, date, attr_list,
+ (char (*)[NAME_LENGTH]) (list + attr_offset * NAME_LENGTH), n_attr, line, "", "", "plain",
+ NULL, TRUE, NULL))
+ n_imported++;
+ }
}
}
}