summaryrefslogtreecommitdiff
path: root/src/serialport/qserialportinfo_unix.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/serialport/qserialportinfo_unix.cpp')
-rw-r--r--src/serialport/qserialportinfo_unix.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/serialport/qserialportinfo_unix.cpp b/src/serialport/qserialportinfo_unix.cpp
index 7322a3c..9637581 100644
--- a/src/serialport/qserialportinfo_unix.cpp
+++ b/src/serialport/qserialportinfo_unix.cpp
@@ -100,7 +100,7 @@ QList<QSerialPortInfo> availablePortsByFiltersOfDevices()
foreach (const QString &deviceFilePath, filteredDeviceFilePaths()) {
QSerialPortInfoPrivate priv;
priv.device = deviceFilePath;
- priv.portName = QSerialPortPrivate::portNameFromSystemLocation(deviceFilePath);
+ priv.portName = QSerialPortInfoPrivate::portNameFromSystemLocation(deviceFilePath);
serialPortInfoList.append(priv);
}
@@ -202,7 +202,7 @@ QList<QSerialPortInfo> availablePortsBySysfs()
}
priv.portName = targetPath.mid(lastIndexOfSlash + 1);
- priv.device = QSerialPortPrivate::portNameToSystemLocation(priv.portName);
+ priv.device = QSerialPortInfoPrivate::portNameToSystemLocation(priv.portName);
serialPortInfoList.append(priv);
}
@@ -401,4 +401,18 @@ bool QSerialPortInfo::isValid() const
return f.exists();
}
+QString QSerialPortInfoPrivate::portNameToSystemLocation(const QString &source)
+{
+ return (source.startsWith(QLatin1Char('/'))
+ || source.startsWith(QStringLiteral("./"))
+ || source.startsWith(QStringLiteral("../")))
+ ? source : (QStringLiteral("/dev/") + source);
+}
+
+QString QSerialPortInfoPrivate::portNameFromSystemLocation(const QString &source)
+{
+ return source.startsWith(QStringLiteral("/dev/"))
+ ? source.mid(5) : source;
+}
+
QT_END_NAMESPACE