Commit 579e48ed authored by Max Kellermann's avatar Max Kellermann

util/StringUtil: add function Strip()

Replaces g_strstrip().
parent 6a08f228
/* /*
* Copyright (C) 2003-2014 The Music Player Daemon Project * Copyright (C) 2003-2014 The Music Player Daemon Project
* http://www.musicpd.org * http://www.musicpd.org
...@@ -27,6 +26,7 @@ ...@@ -27,6 +26,7 @@
#include "ExcludeList.hxx" #include "ExcludeList.hxx"
#include "fs/Path.hxx" #include "fs/Path.hxx"
#include "fs/FileSystem.hxx" #include "fs/FileSystem.hxx"
#include "util/StringUtil.hxx"
#include "util/Domain.hxx" #include "util/Domain.hxx"
#include "Log.hxx" #include "Log.hxx"
...@@ -58,7 +58,7 @@ ExcludeList::LoadFile(Path path_fs) ...@@ -58,7 +58,7 @@ ExcludeList::LoadFile(Path path_fs)
if (p != nullptr) if (p != nullptr)
*p = 0; *p = 0;
p = g_strstrip(line); p = Strip(line);
if (*p != 0) if (*p != 0)
patterns.emplace_front(p); patterns.emplace_front(p);
} }
......
...@@ -26,8 +26,7 @@ ...@@ -26,8 +26,7 @@
#include "system/FatalError.hxx" #include "system/FatalError.hxx"
#include "util/Alloc.hxx" #include "util/Alloc.hxx"
#include "util/ASCII.hxx" #include "util/ASCII.hxx"
#include "util/StringUtil.hxx"
#include <glib.h>
#include <algorithm> #include <algorithm>
...@@ -54,7 +53,7 @@ TagLoadConfig() ...@@ -54,7 +53,7 @@ TagLoadConfig()
quit = true; quit = true;
*s = '\0'; *s = '\0';
c = g_strstrip(c); c = Strip(c);
if (*c == 0) if (*c == 0)
continue; continue;
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include "TagHandler.hxx" #include "TagHandler.hxx"
#include "TagTable.hxx" #include "TagTable.hxx"
#include "TagBuilder.hxx" #include "TagBuilder.hxx"
#include "util/StringUtil.hxx"
#include "util/Error.hxx" #include "util/Error.hxx"
#include "util/Domain.hxx" #include "util/Domain.hxx"
#include "Log.hxx" #include "Log.hxx"
...@@ -116,7 +117,7 @@ import_id3_string(bool is_id3v1, const id3_ucs4_t *ucs4) ...@@ -116,7 +117,7 @@ import_id3_string(bool is_id3v1, const id3_ucs4_t *ucs4)
} }
id3_utf8_t *utf8_stripped = (id3_utf8_t *) id3_utf8_t *utf8_stripped = (id3_utf8_t *)
g_strdup(g_strstrip((gchar *)utf8)); g_strdup(Strip((char *)utf8));
free(utf8); free(utf8);
return utf8_stripped; return utf8_stripped;
......
...@@ -33,6 +33,20 @@ strchug_fast(const char *p) ...@@ -33,6 +33,20 @@ strchug_fast(const char *p)
return p; return p;
} }
char *
Strip(char *p)
{
p = strchug_fast(p);
size_t length = strlen(p);
while (length > 0 && IsWhitespaceNotNull(p[length - 1]))
--length;
p[length] = 0;
return p;
}
bool bool
StringStartsWith(const char *haystack, const char *needle) StringStartsWith(const char *haystack, const char *needle)
{ {
......
...@@ -40,6 +40,13 @@ strchug_fast(char *p) ...@@ -40,6 +40,13 @@ strchug_fast(char *p)
return const_cast<char *>(strchug_fast((const char *)p)); return const_cast<char *>(strchug_fast((const char *)p));
} }
/**
* Skip whitespace at the beginning and terminate the string after the
* last non-whitespace character.
*/
char *
Strip(char *p);
gcc_pure gcc_pure
bool bool
StringStartsWith(const char *haystack, const char *needle); StringStartsWith(const char *haystack, const char *needle);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment