aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am2
-rw-r--r--src/decoder/FlacMetadata.cxx2
-rw-r--r--src/decoder/XiphTags.cxx2
-rw-r--r--src/tag/ApeTag.cxx4
-rw-r--r--src/tag/TagTable.cxx54
-rw-r--r--src/tag/TagTable.hxx26
6 files changed, 65 insertions, 25 deletions
diff --git a/Makefile.am b/Makefile.am
index f0c4fa61c..9b87c4a13 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -429,7 +429,7 @@ TAG_LIBS = \
$(ID3TAG_LIBS)
libtag_a_SOURCES =\
- src/TagTable.hxx \
+ src/tag/TagTable.cxx src/TagTable.hxx \
src/tag/ApeLoader.cxx src/tag/ApeLoader.hxx \
src/tag/ApeReplayGain.cxx src/tag/ApeReplayGain.hxx \
src/tag/ApeTag.cxx src/tag/ApeTag.hxx
diff --git a/src/decoder/FlacMetadata.cxx b/src/decoder/FlacMetadata.cxx
index f53c36b54..f3b5ba81c 100644
--- a/src/decoder/FlacMetadata.cxx
+++ b/src/decoder/FlacMetadata.cxx
@@ -28,7 +28,7 @@
#include <glib.h>
#include <assert.h>
-#include <stdlib.h>
+#include <string.h>
static bool
flac_find_float_comment(const FLAC__StreamMetadata *block,
diff --git a/src/decoder/XiphTags.cxx b/src/decoder/XiphTags.cxx
index b2aa6e82d..b9958a19a 100644
--- a/src/decoder/XiphTags.cxx
+++ b/src/decoder/XiphTags.cxx
@@ -24,5 +24,5 @@ const struct tag_table xiph_tags[] = {
{ "tracknumber", TAG_TRACK },
{ "discnumber", TAG_DISC },
{ "album artist", TAG_ALBUM_ARTIST },
- { NULL, TAG_NUM_OF_ITEM_TYPES }
+ { nullptr, TAG_NUM_OF_ITEM_TYPES }
};
diff --git a/src/tag/ApeTag.cxx b/src/tag/ApeTag.cxx
index 34c2b703b..acaeada25 100644
--- a/src/tag/ApeTag.cxx
+++ b/src/tag/ApeTag.cxx
@@ -24,6 +24,10 @@
#include "TagTable.hxx"
#include "TagHandler.hxx"
+#include <glib.h>
+
+#include <string.h>
+
const struct tag_table ape_tags[] = {
{ "album artist", TAG_ALBUM_ARTIST },
{ "year", TAG_DATE },
diff --git a/src/tag/TagTable.cxx b/src/tag/TagTable.cxx
new file mode 100644
index 000000000..9c833d5a2
--- /dev/null
+++ b/src/tag/TagTable.cxx
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2003-2013 The Music Player Daemon Project
+ * http://www.musicpd.org
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include "TagTable.hxx"
+
+#include <glib.h>
+
+#include <string.h>
+
+/**
+ * Looks up a string in a tag translation table (case sensitive).
+ * Returns TAG_NUM_OF_ITEM_TYPES if the specified name was not found
+ * in the table.
+ */
+tag_type
+tag_table_lookup(const struct tag_table *table, const char *name)
+{
+ for (; table->name != nullptr; ++table)
+ if (strcmp(name, table->name) == 0)
+ return table->type;
+
+ return TAG_NUM_OF_ITEM_TYPES;
+}
+
+/**
+ * Looks up a string in a tag translation table (case insensitive).
+ * Returns TAG_NUM_OF_ITEM_TYPES if the specified name was not found
+ * in the table.
+ */
+tag_type
+tag_table_lookup_i(const struct tag_table *table, const char *name)
+{
+ for (; table->name != nullptr; ++table)
+ if (g_ascii_strcasecmp(name, table->name) == 0)
+ return table->type;
+
+ return TAG_NUM_OF_ITEM_TYPES;
+}
diff --git a/src/tag/TagTable.hxx b/src/tag/TagTable.hxx
index 70c02e6e5..88bf5b028 100644
--- a/src/tag/TagTable.hxx
+++ b/src/tag/TagTable.hxx
@@ -23,10 +23,6 @@
#include "TagType.h"
#include "gcc.h"
-#include <glib.h>
-
-#include <string.h>
-
struct tag_table {
const char *name;
@@ -39,15 +35,8 @@ struct tag_table {
* in the table.
*/
gcc_pure
-static inline enum tag_type
-tag_table_lookup(const struct tag_table *table, const char *name)
-{
- for (; table->name != nullptr; ++table)
- if (strcmp(name, table->name) == 0)
- return table->type;
-
- return TAG_NUM_OF_ITEM_TYPES;
-}
+tag_type
+tag_table_lookup(const tag_table *table, const char *name);
/**
* Looks up a string in a tag translation table (case insensitive).
@@ -55,14 +44,7 @@ tag_table_lookup(const struct tag_table *table, const char *name)
* in the table.
*/
gcc_pure
-static inline enum tag_type
-tag_table_lookup_i(const struct tag_table *table, const char *name)
-{
- for (; table->name != nullptr; ++table)
- if (g_ascii_strcasecmp(name, table->name) == 0)
- return table->type;
-
- return TAG_NUM_OF_ITEM_TYPES;
-}
+tag_type
+tag_table_lookup_i(const tag_table *table, const char *name);
#endif