smtk-import: Fix error management issue

In commits eccd4b993 to 8f81a22e7 global error buffer and get_error_string()
func, were moved to a call back function.
This patch makes smtk2ssrf suport those changes and build again.

Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
This commit is contained in:
Salvador Cuñat 2018-02-11 22:41:06 +01:00 committed by Lubomir I. Ivanov
parent 1f80e100bb
commit 08c4a287a4

View file

@ -11,6 +11,14 @@
QStringList inputFiles; QStringList inputFiles;
QString outputFile; QString outputFile;
QString error_buf;
extern "C" void getErrorFromC(char *buf)
{
QString error(buf);
free(buf);
error_buf = error;
}
Smrtk2ssrfcWindow::Smrtk2ssrfcWindow(QWidget *parent) : Smrtk2ssrfcWindow::Smrtk2ssrfcWindow(QWidget *parent) :
QMainWindow(parent), QMainWindow(parent),
@ -76,11 +84,12 @@ void Smrtk2ssrfcWindow::on_importButton_clicked()
ui->plainTextEdit->setDisabled(false); ui->plainTextEdit->setDisabled(false);
ui->progressBar->setRange(0, inputFiles.size()); ui->progressBar->setRange(0, inputFiles.size());
set_error_cb(&getErrorFromC);
for (int i = 0; i < inputFiles.size(); ++i) { for (int i = 0; i < inputFiles.size(); ++i) {
ui->progressBar->setValue(i); ui->progressBar->setValue(i);
fileNamePtr = QFile::encodeName(inputFiles.at(i)); fileNamePtr = QFile::encodeName(inputFiles.at(i));
smartrak_import(fileNamePtr.data(), &dive_table); smartrak_import(fileNamePtr.data(), &dive_table);
ui->plainTextEdit->appendPlainText(QString(get_error_string())); ui->plainTextEdit->appendPlainText(error_buf);
} }
ui->progressBar->setValue(inputFiles.size()); ui->progressBar->setValue(inputFiles.size());
save_dives_logic(outputFile.toUtf8().data(), false); save_dives_logic(outputFile.toUtf8().data(), false);