Hi Max,
OK, I see. I've changed the patch to cover your suggestion.
Best regards,
Andreas
2015-08-12 12:15 GMT+02:00 Max Kellermann <[email protected]>:
> On 2015/08/12 09:20, Andreas Mair <[email protected]> wrote:
>> Hi Max,
>>
>> I've built a small patch that will "clean" the track and disc numbers.
>> Maybe you want to apply that attached patch.
>
> I'm not happy with that. If the "TRACK" tag is non-numeric garbage,
> MPD will assume track number "0", which is not correct. It would be
> better not to expose a "TRACK" tag at all than one with an incorrect
> value.
diff --git a/src/tag/TagHandler.cxx b/src/tag/TagHandler.cxx
index 9bbaae3..4a8c5eb 100644
--- a/src/tag/TagHandler.cxx
+++ b/src/tag/TagHandler.cxx
@@ -17,6 +17,9 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#include <stdio.h>
+#include <stdlib.h>
+
#include "config.h"
#include "TagHandler.hxx"
#include "TagBuilder.hxx"
@@ -35,7 +38,18 @@ add_tag_tag(TagType type, const char *value, void *ctx)
{
TagBuilder &tag = *(TagBuilder *)ctx;
- tag.AddItem(type, value);
+ if (type == TAG_TRACK || type == TAG_DISC) {
+ char *end;
+ int n = strtol(value, &end, 10);
+ if (value != end) {
+ char s[21];
+ if (snprintf(s, 21, "%d", n) >= 0) {
+ tag.AddItem(type, s);
+ }
+ }
+ } else {
+ tag.AddItem(type, value);
+ }
}
const struct tag_handler add_tag_handler = {
_______________________________________________
mpd-devel mailing list
[email protected]
http://mailman.blarg.de/listinfo/mpd-devel