Fix Do not prepend \\ to network share paths

This commit is contained in:
2025-03-02 17:09:33 +01:00
parent e47c99fd21
commit 58abf762c0
4 changed files with 16 additions and 14 deletions
+10 -8
View File
@@ -9,16 +9,18 @@
#include <libexif/exif-data.h>
#include "rawimage.h"
QString makeMaxPath(QString path)
QString makeUNCPath(const QString &path)
{
#ifdef Q_OS_WIN64
if(!path.startsWith("\\\\"))
if(!path.startsWith("\\\\") && !path.startsWith("//"))
{
QString tmp;
QFileInfo info(path);
path = info.absoluteFilePath();
path = QDir::toNativeSeparators(path);
path.prepend("\\\\?\\");
qDebug() << path;
tmp = info.absoluteFilePath();
tmp = QDir::toNativeSeparators(tmp);
tmp.prepend("\\\\?\\");
qDebug() << "makeMaxPath" << path << tmp;
return tmp;
}
#endif
return path;
@@ -276,7 +278,7 @@ bool readFITSHeader(const QString &path, ImageInfoData &info)
{
fitsfile *fr;
int status = 0;
QString path2 = makeMaxPath(path);
QString path2 = makeUNCPath(path);
fits_open_diskfile(&fr, path2.toLocal8Bit().data(), READONLY, &status);
if(fr && status == 0)
@@ -289,7 +291,7 @@ bool readFITSHeader(const QString &path, ImageInfoData &info)
bool readXISFHeader(const QString &path, ImageInfoData &info)
{
QString path2 = makeMaxPath(path);
QString path2 = makeUNCPath(path);
try
{
LibXISF::XISFReader xisf;