Util/ASCII: add function StringEqualsCaseASCII()
Replaces GLib's g_ascii_strcasecmp().
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
#include "InputStream.hxx"
|
||||
#include "Song.hxx"
|
||||
#include "tag/Tag.hxx"
|
||||
#include "util/ASCII.hxx"
|
||||
#include "util/Error.hxx"
|
||||
#include "util/Domain.hxx"
|
||||
#include "Log.hxx"
|
||||
@@ -75,7 +76,7 @@ get_attribute(const gchar **attribute_names, const gchar **attribute_values,
|
||||
const gchar *name)
|
||||
{
|
||||
for (unsigned i = 0; attribute_names[i] != NULL; ++i)
|
||||
if (g_ascii_strcasecmp(attribute_names[i], name) == 0)
|
||||
if (StringEqualsCaseASCII(attribute_names[i], name))
|
||||
return attribute_values[i];
|
||||
|
||||
return NULL;
|
||||
@@ -92,7 +93,7 @@ asx_start_element(gcc_unused GMarkupParseContext *context,
|
||||
|
||||
switch (parser->state) {
|
||||
case AsxParser::ROOT:
|
||||
if (g_ascii_strcasecmp(element_name, "entry") == 0) {
|
||||
if (StringEqualsCaseASCII(element_name, "entry")) {
|
||||
parser->state = AsxParser::ENTRY;
|
||||
parser->song = Song::NewRemote("asx:");
|
||||
parser->tag = TAG_NUM_OF_ITEM_TYPES;
|
||||
@@ -101,7 +102,7 @@ asx_start_element(gcc_unused GMarkupParseContext *context,
|
||||
break;
|
||||
|
||||
case AsxParser::ENTRY:
|
||||
if (g_ascii_strcasecmp(element_name, "ref") == 0) {
|
||||
if (StringEqualsCaseASCII(element_name, "ref")) {
|
||||
const gchar *href = get_attribute(attribute_names,
|
||||
attribute_values,
|
||||
"href");
|
||||
@@ -121,11 +122,11 @@ asx_start_element(gcc_unused GMarkupParseContext *context,
|
||||
|
||||
parser->song = song;
|
||||
}
|
||||
} else if (g_ascii_strcasecmp(element_name, "author") == 0)
|
||||
} else if (StringEqualsCaseASCII(element_name, "author"))
|
||||
/* is that correct? or should it be COMPOSER
|
||||
or PERFORMER? */
|
||||
parser->tag = TAG_ARTIST;
|
||||
else if (g_ascii_strcasecmp(element_name, "title") == 0)
|
||||
else if (StringEqualsCaseASCII(element_name, "title"))
|
||||
parser->tag = TAG_TITLE;
|
||||
|
||||
break;
|
||||
@@ -144,7 +145,7 @@ asx_end_element(gcc_unused GMarkupParseContext *context,
|
||||
break;
|
||||
|
||||
case AsxParser::ENTRY:
|
||||
if (g_ascii_strcasecmp(element_name, "entry") == 0) {
|
||||
if (StringEqualsCaseASCII(element_name, "entry")) {
|
||||
if (strcmp(parser->song->uri, "asx:") != 0)
|
||||
parser->songs.emplace_front(parser->song);
|
||||
else
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
#include "TagFile.hxx"
|
||||
#include "cue/CueParser.hxx"
|
||||
#include "fs/Traits.hxx"
|
||||
#include "util/ASCII.hxx"
|
||||
|
||||
#include <glib.h>
|
||||
#include <assert.h>
|
||||
@@ -81,7 +82,7 @@ embcue_tag_pair(const char *name, const char *value, void *ctx)
|
||||
EmbeddedCuePlaylist *playlist = (EmbeddedCuePlaylist *)ctx;
|
||||
|
||||
if (playlist->cuesheet == NULL &&
|
||||
g_ascii_strcasecmp(name, "cuesheet") == 0)
|
||||
StringEqualsCaseASCII(name, "cuesheet"))
|
||||
playlist->cuesheet = g_strdup(value);
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "InputStream.hxx"
|
||||
#include "Song.hxx"
|
||||
#include "tag/Tag.hxx"
|
||||
#include "util/ASCII.hxx"
|
||||
#include "util/Error.hxx"
|
||||
#include "util/Domain.hxx"
|
||||
#include "Log.hxx"
|
||||
@@ -74,7 +75,7 @@ get_attribute(const gchar **attribute_names, const gchar **attribute_values,
|
||||
const gchar *name)
|
||||
{
|
||||
for (unsigned i = 0; attribute_names[i] != NULL; ++i)
|
||||
if (g_ascii_strcasecmp(attribute_names[i], name) == 0)
|
||||
if (StringEqualsCaseASCII(attribute_names[i], name))
|
||||
return attribute_values[i];
|
||||
|
||||
return NULL;
|
||||
@@ -91,7 +92,7 @@ rss_start_element(gcc_unused GMarkupParseContext *context,
|
||||
|
||||
switch (parser->state) {
|
||||
case RssParser::ROOT:
|
||||
if (g_ascii_strcasecmp(element_name, "item") == 0) {
|
||||
if (StringEqualsCaseASCII(element_name, "item")) {
|
||||
parser->state = RssParser::ITEM;
|
||||
parser->song = Song::NewRemote("rss:");
|
||||
parser->tag = TAG_NUM_OF_ITEM_TYPES;
|
||||
@@ -100,7 +101,7 @@ rss_start_element(gcc_unused GMarkupParseContext *context,
|
||||
break;
|
||||
|
||||
case RssParser::ITEM:
|
||||
if (g_ascii_strcasecmp(element_name, "enclosure") == 0) {
|
||||
if (StringEqualsCaseASCII(element_name, "enclosure")) {
|
||||
const gchar *href = get_attribute(attribute_names,
|
||||
attribute_values,
|
||||
"url");
|
||||
@@ -120,9 +121,9 @@ rss_start_element(gcc_unused GMarkupParseContext *context,
|
||||
|
||||
parser->song = song;
|
||||
}
|
||||
} else if (g_ascii_strcasecmp(element_name, "title") == 0)
|
||||
} else if (StringEqualsCaseASCII(element_name, "title"))
|
||||
parser->tag = TAG_TITLE;
|
||||
else if (g_ascii_strcasecmp(element_name, "itunes:author") == 0)
|
||||
else if (StringEqualsCaseASCII(element_name, "itunes:author"))
|
||||
parser->tag = TAG_ARTIST;
|
||||
|
||||
break;
|
||||
@@ -141,7 +142,7 @@ rss_end_element(gcc_unused GMarkupParseContext *context,
|
||||
break;
|
||||
|
||||
case RssParser::ITEM:
|
||||
if (g_ascii_strcasecmp(element_name, "item") == 0) {
|
||||
if (StringEqualsCaseASCII(element_name, "item")) {
|
||||
if (strcmp(parser->song->uri, "rss:") != 0)
|
||||
parser->songs.emplace_front(parser->song);
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user