From 7dd94d60dc89102902f757efd1dba6d004fed679 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Thu, 2 Mar 2017 16:16:51 -0500 Subject: [PATCH 1/2] Make bare file URLs actually file: URLs QUrl will mangle the content of a string, in particular it will convert the first letter to lower case if the string contains a colon. So properly form filenames as file URLs by prefixing them with file: --- mythtv/programs/mythbackend/mainserver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mythtv/programs/mythbackend/mainserver.cpp b/mythtv/programs/mythbackend/mainserver.cpp index 71d6c02965f..1e01741ce42 100644 --- a/mythtv/programs/mythbackend/mainserver.cpp +++ b/mythtv/programs/mythbackend/mainserver.cpp @@ -1867,7 +1867,7 @@ void MainServer::HandleAnnounce(QStringList &slist, QStringList commands, LOG(VB_NETWORK, LOG_INFO, LOC + QString("adding: %1 as a remote file transfer") .arg(commands[2])); QStringList::const_iterator it = slist.begin(); - QUrl qurl = *(++it); + QUrl qurl = QUrl::fromLocalFile(*(++it));  QString wantgroup = *(++it); QString filename; QStringList checkfiles; From 9f6fb795325d7c380cc22d163fa3f3b49fee4e19 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Thu, 13 Apr 2017 11:26:48 -0400 Subject: [PATCH 2/2] Only make strings without a scheme local file URLs When converting a string to a URL, only make it a file:// URL if it does not already have a scheme. --- mythtv/programs/mythbackend/mainserver.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mythtv/programs/mythbackend/mainserver.cpp b/mythtv/programs/mythbackend/mainserver.cpp index 1e01741ce42..6c14c75f909 100644 --- a/mythtv/programs/mythbackend/mainserver.cpp +++ b/mythtv/programs/mythbackend/mainserver.cpp @@ -1867,7 +1867,12 @@ void MainServer::HandleAnnounce(QStringList &slist, QStringList commands, LOG(VB_NETWORK, LOG_INFO, LOC + QString("adding: %1 as a remote file transfer") .arg(commands[2])); QStringList::const_iterator it = slist.begin(); - QUrl qurl = QUrl::fromLocalFile(*(++it));  + QUrl qurl; + QString s = *(++it) + if (QUrl(s).scheme() == "") + qurl = QUrl::fromLocalFile(s); + else + qurl = s QString wantgroup = *(++it); QString filename; QStringList checkfiles;