From cb49c37b31fcebb3a1ba97b0a804d398ae0df22d Mon Sep 17 00:00:00 2001 From: Miika Turkia Date: Sun, 22 Mar 2015 17:13:46 +0200 Subject: [PATCH] Fix Seabear new line detection We need to take both \r\n and \n new line formats into account before failing Seabear validity check on import. (Seabear file has empty lines, if import file does not have one -> return.) Signed-off-by: Miika Turkia Signed-off-by: Dirk Hohndel --- file.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/file.c b/file.c index 5a859ab6a..c7486f6a4 100644 --- a/file.c +++ b/file.c @@ -930,7 +930,7 @@ int parse_seabear_csv_file(const char *filename, int timef, int depthf, int temp char curdate[DATESTR]; char curtime[TIMESTR]; char *ptr, *ptr_old = NULL; - char *NL; + char *NL = NULL; if (timef >= MAXCOLS || depthf >= MAXCOLS || tempf >= MAXCOLS || po2f >= MAXCOLS || cnsf >= MAXCOLS || ndlf >= MAXCOLS || cnsf >= MAXCOLS || stopdepthf >= MAXCOLS || pressuref >= MAXCOLS) return report_error(translate("gettextFromC", "Maximum number of supported columns on CSV import is %d"), MAXCOLS); @@ -951,13 +951,6 @@ int parse_seabear_csv_file(const char *filename, int timef, int depthf, int temp NL = "\r\n"; } - /* - * If file does not contain empty lines, it is not a valid - * Seabear CSV file. - */ - if (!ptr) - return -1; - if (!ptr_old) { while ((ptr = strstr(ptr, "\n\n")) != NULL) { ptr_old = ptr; @@ -968,6 +961,13 @@ int parse_seabear_csv_file(const char *filename, int timef, int depthf, int temp } else ptr_old += 4; + /* + * If file does not contain empty lines, it is not a valid + * Seabear CSV file. + */ + if (NL == NULL) + return -1; + /* * On my current sample of Seabear DC log file, the date is * without any identifier. Thus we must search for the previous