mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Fix crash if one selects incorrectly Seabear CSV
Fixes #814 Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
1e45858ee6
commit
2dc1a42b29
2 changed files with 10 additions and 2 deletions
7
file.c
7
file.c
|
@ -932,6 +932,13 @@ int parse_seabear_csv_file(const char *filename, int timef, int depthf, int temp
|
||||||
NL = "\r\n";
|
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) {
|
if (!ptr_old) {
|
||||||
while ((ptr = strstr(ptr, "\n\n")) != NULL) {
|
while ((ptr = strstr(ptr, "\n\n")) != NULL) {
|
||||||
ptr_old = ptr;
|
ptr_old = ptr;
|
||||||
|
|
|
@ -526,7 +526,7 @@ void DiveLogImportDialog::on_buttonBox_accepted()
|
||||||
if (ui->knownImports->currentText() != "Manual import") {
|
if (ui->knownImports->currentText() != "Manual import") {
|
||||||
for (int i = 0; i < fileNames.size(); ++i) {
|
for (int i = 0; i < fileNames.size(); ++i) {
|
||||||
if (ui->knownImports->currentText() == "Seabear CSV") {
|
if (ui->knownImports->currentText() == "Seabear CSV") {
|
||||||
parse_seabear_csv_file(fileNames[i].toUtf8().data(),
|
if (parse_seabear_csv_file(fileNames[i].toUtf8().data(),
|
||||||
r.indexOf(tr("Sample time")),
|
r.indexOf(tr("Sample time")),
|
||||||
r.indexOf(tr("Sample depth")),
|
r.indexOf(tr("Sample depth")),
|
||||||
r.indexOf(tr("Sample temperature")),
|
r.indexOf(tr("Sample temperature")),
|
||||||
|
@ -539,7 +539,8 @@ void DiveLogImportDialog::on_buttonBox_accepted()
|
||||||
ui->CSVSeparator->currentIndex(),
|
ui->CSVSeparator->currentIndex(),
|
||||||
specialCSV.contains(ui->knownImports->currentIndex()) ? CSVApps[ui->knownImports->currentIndex()].name.toUtf8().data() : "csv",
|
specialCSV.contains(ui->knownImports->currentIndex()) ? CSVApps[ui->knownImports->currentIndex()].name.toUtf8().data() : "csv",
|
||||||
ui->CSVUnits->currentIndex()
|
ui->CSVUnits->currentIndex()
|
||||||
);
|
) < 0)
|
||||||
|
return;
|
||||||
|
|
||||||
// Seabear CSV stores NDL and TTS in Minutes, not seconds
|
// Seabear CSV stores NDL and TTS in Minutes, not seconds
|
||||||
struct dive *dive = dive_table.dives[dive_table.nr - 1];
|
struct dive *dive = dive_table.dives[dive_table.nr - 1];
|
||||||
|
|
Loading…
Add table
Reference in a new issue