diff options
-rw-r--r-- | qthelper.cpp | 10 | ||||
-rw-r--r-- | save-html.c | 4 | ||||
-rw-r--r-- | save-html.h | 2 |
3 files changed, 8 insertions, 8 deletions
diff --git a/qthelper.cpp b/qthelper.cpp index 98fa785a1..e481bc9e9 100644 --- a/qthelper.cpp +++ b/qthelper.cpp @@ -284,19 +284,17 @@ picture_load_exit: return; } -extern "C" const char* get_file_name(const char *fileName) +extern "C" char *get_file_name(const char *fileName) { - QFile file(fileName); - QFileInfo fileInfo(file.fileName()); - QString filename(fileInfo.fileName()); - return filename.toStdString().c_str(); + QFileInfo fileInfo(fileName); + return strdup(fileInfo.fileName().toUtf8()); } extern "C" void copy_image_and_overwrite(const char *cfileName, const char *cnewName) { QString fileName = QString::fromUtf8(cfileName); QString newName = QString::fromUtf8(cnewName); - newName += get_file_name(cfileName); + newName += QFileInfo(cfileName).fileName(); QFile file(newName); if (file.exists()) file.remove(); diff --git a/save-html.c b/save-html.c index 0288d447c..82d81edda 100644 --- a/save-html.c +++ b/save-html.c @@ -16,7 +16,9 @@ void save_photos(struct membuffer *b, const char *photos_dir, struct dive *dive) struct picture *pic = dive->picture_list; put_string(b, "\"photos\":["); while (pic) { - put_format(b, "{\"filename\":\"%s\"},", get_file_name(pic->filename)); + char *fname = get_file_name(pic->filename); + put_format(b, "{\"filename\":\"%s\"},", fname); + free(fname); copy_image_and_overwrite(pic->filename, photos_dir); pic = pic->next; } diff --git a/save-html.h b/save-html.h index 6d31e4fc3..f47ae3ba6 100644 --- a/save-html.h +++ b/save-html.h @@ -19,7 +19,7 @@ void export_HTML(const char *file_name, const char *photos_dir, const bool selec void export_translation(const char *file_name); extern void copy_image_and_overwrite(const char *cfileName, const char *cnewName); -extern const char *get_file_name(const char *fileName); +extern char *get_file_name(const char *fileName); #ifdef __cplusplus } #endif |