aboutsummaryrefslogtreecommitdiffstats
path: root/src/db/plugins/upnp/Directory.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2014-08-29 12:14:27 +0200
committerMax Kellermann <max@duempel.org>2014-08-29 13:20:58 +0200
commit7c25d83f1cc4c7db2d2d3f4506525dd056b885e8 (patch)
treeb710e3f3d0f4edf7de0dcf6d61c823d8da7c9027 /src/db/plugins/upnp/Directory.cxx
parent8ce30c6a69a64f37a866541f66e3f242fe901f49 (diff)
downloadmpd-7c25d83f1cc4c7db2d2d3f4506525dd056b885e8.tar.gz
mpd-7c25d83f1cc4c7db2d2d3f4506525dd056b885e8.tar.xz
mpd-7c25d83f1cc4c7db2d2d3f4506525dd056b885e8.zip
Tag: use SignedSongTime for the song duration
Diffstat (limited to '')
-rw-r--r--src/db/plugins/upnp/Directory.cxx12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/db/plugins/upnp/Directory.cxx b/src/db/plugins/upnp/Directory.cxx
index e43cd48a6..683022a10 100644
--- a/src/db/plugins/upnp/Directory.cxx
+++ b/src/db/plugins/upnp/Directory.cxx
@@ -59,28 +59,28 @@ ParseItemClass(const char *name, size_t length)
}
gcc_pure
-static int
+static SignedSongTime
ParseDuration(const char *duration)
{
char *endptr;
unsigned result = ParseUnsigned(duration, &endptr);
if (endptr == duration || *endptr != ':')
- return 0;
+ return SignedSongTime::Negative();
result *= 60;
duration = endptr + 1;
result += ParseUnsigned(duration, &endptr);
if (endptr == duration || *endptr != ':')
- return 0;
+ return SignedSongTime::Negative();
result *= 60;
duration = endptr + 1;
result += ParseUnsigned(duration, &endptr);
if (endptr == duration || *endptr != 0)
- return 0;
+ return SignedSongTime::Negative();
- return result;
+ return SignedSongTime::FromS(result);
}
/**
@@ -183,7 +183,7 @@ protected:
const char *duration =
GetAttribute(attrs, "duration");
if (duration != nullptr)
- tag.SetTime(ParseDuration(duration));
+ tag.SetDuration(ParseDuration(duration));
state = RES;
}