Parser: parse text-based files into arbitrary table

In d815e0c947 a dive_table pointer
was added to the parsing functions to allow parsing into tables
other than the global dive table. This will be necessary for undo of
import and implementation a cleaner interface. A few cases, notably
CSV and proprietary formats were forgotten.

Implement parsing into arbitrary tables also for these cases.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2018-09-28 13:59:01 +02:00 committed by Dirk Hohndel
parent a5db03c2b3
commit 32a4ce6169
10 changed files with 52 additions and 51 deletions

View file

@ -220,16 +220,16 @@ static int open_by_filename(const char *filename, const char *fmt, struct memblo
return report_error(translate("gettextFromC", csv_warning), filename);
/* Truly nasty intentionally obfuscated Cochran Anal software */
if (!strcasecmp(fmt, "CAN"))
return try_to_open_cochran(filename, mem);
return try_to_open_cochran(filename, mem, table);
/* Cochran export comma-separated-value files */
if (!strcasecmp(fmt, "DPT"))
return try_to_open_csv(mem, CSV_DEPTH);
return try_to_open_csv(mem, CSV_DEPTH, table);
if (!strcasecmp(fmt, "LVD"))
return try_to_open_liquivision(filename, mem);
return try_to_open_liquivision(filename, mem, table);
if (!strcasecmp(fmt, "TMP"))
return try_to_open_csv(mem, CSV_TEMP);
return try_to_open_csv(mem, CSV_TEMP, table);
if (!strcasecmp(fmt, "HP1"))
return try_to_open_csv(mem, CSV_PRESSURE);
return try_to_open_csv(mem, CSV_PRESSURE, table);
return 0;
}