summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-10-17 22:39:06 +0200
committerMax Kellermann <max@duempel.org>2013-10-17 22:39:06 +0200
commitf951e5356b7b6fb1126e367e641882f1e5192f76 (patch)
tree6e25ea9d361194ce4e70cc642ec840c8da7b1e8c
parent080ee87e07f0037e559abbea6f7db73602af5137 (diff)
fs/Charset: don't allow nullptr arguments
-rw-r--r--src/fs/Charset.cxx5
-rw-r--r--src/fs/Charset.hxx6
-rw-r--r--src/fs/Path.hxx4
3 files changed, 8 insertions, 7 deletions
diff --git a/src/fs/Charset.cxx b/src/fs/Charset.cxx
index 5a06bf949..b75001043 100644
--- a/src/fs/Charset.cxx
+++ b/src/fs/Charset.cxx
@@ -79,8 +79,7 @@ GetFSCharset()
std::string
PathToUTF8(const char *path_fs)
{
- if (path_fs == nullptr)
- return std::string();
+ assert(path_fs != nullptr);
GIConv conv = g_iconv_open("utf-8", fs_charset.c_str());
if (conv == reinterpret_cast<GIConv>(-1))
@@ -107,6 +106,8 @@ PathToUTF8(const char *path_fs)
char *
PathFromUTF8(const char *path_utf8)
{
+ assert(path_utf8 != nullptr);
+
return g_convert(path_utf8, -1,
fs_charset.c_str(), "utf-8",
nullptr, nullptr, nullptr);
diff --git a/src/fs/Charset.hxx b/src/fs/Charset.hxx
index 58b5a090a..19dabeb2b 100644
--- a/src/fs/Charset.hxx
+++ b/src/fs/Charset.hxx
@@ -37,13 +37,13 @@ SetFSCharset(const char *charset);
/**
* Convert the path to UTF-8.
- * Returns empty string on error or if #path_fs is null pointer.
+ * Returns empty string on error.
*/
-gcc_pure
+gcc_pure gcc_nonnull_all
std::string
PathToUTF8(const char *path_fs);
-gcc_malloc
+gcc_malloc gcc_nonnull_all
char *
PathFromUTF8(const char *path_utf8);
diff --git a/src/fs/Path.hxx b/src/fs/Path.hxx
index 38112feee..d5b96f407 100644
--- a/src/fs/Path.hxx
+++ b/src/fs/Path.hxx
@@ -123,10 +123,10 @@ public:
* Convert a UTF-8 C string to a #Path instance.
* Returns return a "nulled" instance on error.
*/
- gcc_pure
+ gcc_pure gcc_nonnull_all
static Path FromUTF8(const char *path_utf8);
- gcc_pure
+ gcc_pure gcc_nonnull_all
static Path FromUTF8(const char *path_utf8, Error &error);
/**