Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | db/upnp: don't duplicate song data for VisitSong | Max Kellermann | 2014-01-22 | 1 | -2/+9 | |
| | | | | | | | | Not necessary because we control the LightSong's life cycle. | |||||
* | | db/upnp: emplace/move in csvToStrings() | Max Kellermann | 2014-01-22 | 1 | -2/+2 | |
| | | ||||||
* | | db/upnp: require an empty token list in csvToStrings() | Max Kellermann | 2014-01-22 | 1 | -6/+4 | |
| | | ||||||
* | | db/proxy: simplify csvToStrings() | Max Kellermann | 2014-01-22 | 1 | -47/+17 | |
| | | ||||||
* | | db/proxy: merge redundant string::push_back() calls | Max Kellermann | 2014-01-22 | 1 | -4/+2 | |
| | | ||||||
* | | db/upnp: use PathTraitsUTF8::Build() | Max Kellermann | 2014-01-22 | 1 | -5/+14 | |
| | | ||||||
* | | db/proxy: fix for libmpdclient < 2.9 | Max Kellermann | 2014-01-22 | 1 | -0/+4 | |
| | | ||||||
* | | db/proxy: copy "Last-Modified" from remote directories | Max Kellermann | 2014-01-22 | 1 | -1/+2 | |
| | | ||||||
* | | LightDirectory: new struct replacing Directory in the DB API | Max Kellermann | 2014-01-22 | 10 | -37/+102 | |
| | | ||||||
* | | DatabasePrint: don't print zero mtime | Max Kellermann | 2014-01-22 | 1 | -1/+3 | |
| | | | | | | | | Zero means "unknown". | |||||
* | | db/upnp: append characters instead of single-character strings | Max Kellermann | 2014-01-22 | 1 | -2/+2 | |
| | | ||||||
* | | db/upnp: use string::push_back() instead of string::append() | Max Kellermann | 2014-01-22 | 1 | -5/+5 | |
| | | ||||||
* | | db/upnp/Discovery: unlock mutex before deleting DiscoveredTask | Max Kellermann | 2014-01-22 | 1 | -1/+2 | |
| | | ||||||
* | | db/upnp/Discovery: eliminate two strlen() calls | Max Kellermann | 2014-01-22 | 1 | -4/+4 | |
| | | ||||||
* | | db/upnp: use std::list instead of std::set for SearchCapabilities | Max Kellermann | 2014-01-22 | 4 | -9/+7 | |
| | | | | | | | | Reduce bloat. We never used the set lookup. | |||||
* | | db/upnp: check offset<total at end of loop | Max Kellermann | 2014-01-22 | 1 | -16/+7 | |
| | | ||||||
* | | db/upnp: break when zero objects have been returned | Max Kellermann | 2014-01-22 | 1 | -0/+3 | |
| | | ||||||
* | | db/upnp: free responses manually | Max Kellermann | 2014-01-22 | 1 | -21/+6 | |
| | | ||||||
* | | db/upnp: break when count==0 | Max Kellermann | 2014-01-22 | 1 | -6/+3 | |
| | | | | | | | | Make this non-fatal. Just stop reading more objects. | |||||
* | | db/upnp: use ParseUnsigned() instead of atoi() | Max Kellermann | 2014-01-22 | 1 | -16/+10 | |
| | | ||||||
* | | db/upnp: pass unsigned integers to readDirSlice() | Max Kellermann | 2014-01-22 | 2 | -17/+17 | |
| | | ||||||
* | | db/upnp: inline ContentDirectoryService::readDirSlice() | Max Kellermann | 2014-01-22 | 1 | -1/+1 | |
| | | ||||||
* | | db/upnp: remove special case for "*" | Max Kellermann | 2014-01-22 | 1 | -3/+1 | |
| | | | | | | | | Passing this to csvToStrings() will do the same. | |||||
* | | db/upnp: obtain char* from ixmlwrap::getFirstElementValue() | Max Kellermann | 2014-01-22 | 1 | -9/+13 | |
| | | | | | | | | Fixes crash when there's no SearchCaps element. | |||||
* | | db/upnp/Util: pass char* to csvToStrings() | Max Kellermann | 2014-01-22 | 3 | -8/+12 | |
| | | ||||||
* | | db/upnp: require an empty input capability set | Max Kellermann | 2014-01-22 | 1 | -1/+2 | |
| | | ||||||
* | | db/upnp/Util: handle absolute URI paths properly in caturl() | Max Kellermann | 2014-01-22 | 1 | -7/+20 | |
| | | | | | | | | Fixes problems with some UPnP servers. | |||||
* | | db/upnp/Util: use string::back(), string::front() | Max Kellermann | 2014-01-22 | 1 | -5/+5 | |
| | | ||||||
* | | db/upnp/Device: clear the "value" pointer on unknown element | Max Kellermann | 2014-01-22 | 1 | -0/+2 | |
| | | | | | | | | Avoid appending to an obsolete string object. | |||||
* | | Main: glue_mapper_init() returns true if GetUserMusicDir() fails | Max Kellermann | 2014-01-22 | 1 | -1/+1 | |
| | | | | | | | | Not a fatal error. Fixes assertion failure. | |||||
* | | db/upnp/Device: replace std::vector with a std::string pointer | Max Kellermann | 2014-01-22 | 3 | -47/+50 | |
| | | ||||||
* | | db/upnp/Device: remove unused UPnPService attributes | Max Kellermann | 2014-01-22 | 2 | -16/+0 | |
| | | ||||||
* | | db/upnp/Directory: "emplace" items into the vector | Max Kellermann | 2014-01-22 | 1 | -1/+1 | |
| | | ||||||
* | | db/upnp/Device: emplace/move the UPnPService into the vector | Max Kellermann | 2014-01-22 | 1 | -1/+1 | |
| | | | | | | | | Reduce overhead. | |||||
* | | db/upnp/Util: "emplace" items into the list | Max Kellermann | 2014-01-22 | 1 | -3/+3 | |
| | | | | | | | | Reduce overhead. | |||||
* | | db/upnp/Directory: replace std::vector with a simple enum | Max Kellermann | 2014-01-22 | 1 | -20/+34 | |
| | | | | | | | | Reduce bloat. | |||||
* | | db/upnp/Directory: join all CDATA nodes for tag values | Max Kellermann | 2014-01-22 | 1 | -11/+43 | |
| | | | | | | | | | | | | Expat can call CharacterData() multiple times if the CDATA contains entity references. We need to collect all of them in one large string. | |||||
* | | db/upnp/Directory: make "m_dir" private | Max Kellermann | 2014-01-22 | 1 | -1/+2 | |
| | | ||||||
* | | db/upnp: merge duplicate branches in Namei() | Max Kellermann | 2014-01-21 | 1 | -25/+10 | |
| | | ||||||
* | | db/upnp: simplify Namei() | Max Kellermann | 2014-01-21 | 1 | -7/+6 | |
| | | ||||||
* | | db/upnp: use std::list instead of std::vector | Max Kellermann | 2014-01-21 | 3 | -10/+11 | |
| | | | | | | | | Reduce overhead. | |||||
* | | db/upnp: use iterator in Namei() | Max Kellermann | 2014-01-21 | 1 | -4/+5 | |
| | | ||||||
* | | db/upnp: move "objid" declaration down | Max Kellermann | 2014-01-21 | 1 | -2/+2 | |
| | | | | | | | | Don't allocate the object when it's not needed. | |||||
* | | db/upnp: eliminate redundant Namei() parameter "oobjid" | Max Kellermann | 2014-01-21 | 1 | -12/+7 | |
| | | | | | | | | | | The caller should better obtain the object id from the returned UPnPDirObject instance. | |||||
* | | db/upnp: remove redundant objid.empty() check from VisitServer() | Max Kellermann | 2014-01-21 | 1 | -4/+0 | |
| | | | | | | | | If Namei() succeeds, the object id is guaranteed to be set. | |||||
* | | db/upnp: use std::move() to extract server name | Max Kellermann | 2014-01-21 | 1 | -1/+1 | |
| | | | | | | | | Reduce runtime overhead. | |||||
* | | db/upnp: use vector::front() instead of [0] | Max Kellermann | 2014-01-21 | 1 | -5/+5 | |
| | | ||||||
* | | db/upnp: don't use stringToTokens() in ParseDuration() | Max Kellermann | 2014-01-21 | 1 | -4/+20 | |
| | | | | | | Reduce bloat. | |||||
* | | db/upnp: don't construct redundant empty vector<string> in Visit() | Max Kellermann | 2014-01-21 | 1 | -1/+1 | |
| | | | | | | | | We know already that vpath is empty, let's use this instance. | |||||
* | | db/upnp: simplify GetSong() | Max Kellermann | 2014-01-21 | 1 | -20/+18 | |
| | |