upnp: not all internal upnp paths were /'d at the end
authorAlasdair Campbell <alcoheca@gmail.com>
Wed, 3 Apr 2013 22:36:06 +0000 (23:36 +0100)
committerAlasdair Campbell <alcoheca@gmail.com>
Wed, 3 Apr 2013 22:37:39 +0000 (23:37 +0100)
xbmc/filesystem/UPnPDirectory.cpp
xbmc/network/upnp/UPnP.cpp

index 49c8449..6706214 100644 (file)
@@ -29,6 +29,7 @@
 #include "video/VideoInfoTag.h"
 #include "FileItem.h"
 #include "utils/log.h"
+#include "utils/URIUtils.h"
 
 using namespace MUSIC_INFO;
 using namespace XFILE;
@@ -325,11 +326,8 @@ CUPnPDirectory::GetDirectory(const CStdString& strPath, CFileItemList &items)
 
             CStdString id = (char*) (*entry)->m_ObjectID;
             CURL::Encode(id);
-            if(pItem->m_bIsFolder) {
-                pItem->SetPath(CStdString((const char*) "upnp://" + uuid + "/" + id.c_str()));
-            } else {
-                pItem->SetPath(CStdString((const char*) "upnp://" + uuid + "/" + id.c_str() + "/"));
-            }
+            URIUtils::AddSlashAtEnd(id);
+            pItem->SetPath(CStdString((const char*) "upnp://" + uuid + "/" + id.c_str()));
 
             items.Add(pItem);
 
index 2e156f0..f2734d2 100644 (file)
@@ -180,6 +180,7 @@ public:
         if (!NPT_StringsEqual(item_id, "0")) {
             CStdString id = item_id;
             CURL::Encode(id);
+            URIUtils::AddSlashAtEnd(id);
             path += id.c_str();
         }