charset: add `noexcept`
authorMax Kellermann <max@musicpd.org>
Thu, 4 Oct 2018 12:20:03 +0000 (14:20 +0200)
committerMax Kellermann <max@musicpd.org>
Thu, 4 Oct 2018 12:20:03 +0000 (14:20 +0200)
src/charset.cxx
src/charset.hxx

index 012460f..e1b299d 100644 (file)
@@ -36,7 +36,7 @@ static bool noconvert = true;
 static const char *charset;
 
 void
-charset_init()
+charset_init() noexcept
 {
        charset = nl_langinfo(CODESET);
        noconvert = charset == nullptr || strcasecmp(charset, "utf-8") == 0;
@@ -117,6 +117,7 @@ Iconv(const char *tocode, const char *fromcode,
        return Iconv(i, dest, dest_size, src, src_length);
 }
 
+gcc_pure
 static std::string
 Iconv(iconv_t i,
       const char *src, size_t src_length) noexcept
@@ -163,6 +164,7 @@ Iconv(iconv_t i,
        return dest;
 }
 
+gcc_pure
 static std::string
 Iconv(const char *tocode, const char *fromcode,
       const char *src, size_t src_length) noexcept
@@ -176,8 +178,9 @@ Iconv(const char *tocode, const char *fromcode,
        return Iconv(i, src, src_length);
 }
 
+gcc_pure
 static std::string
-utf8_to_locale(const char *src, size_t length)
+utf8_to_locale(const char *src, size_t length) noexcept
 {
        assert(src != nullptr);
 
@@ -227,8 +230,9 @@ utf8_to_locale(const char *src, char *buffer, size_t size) noexcept
 
 #ifdef HAVE_ICONV
 
+gcc_pure
 static std::string
-locale_to_utf8(const char *src)
+locale_to_utf8(const char *src) noexcept
 {
        assert(src != nullptr);
 
index 6a9d6a9..6220e59 100644 (file)
@@ -29,7 +29,7 @@
 
 #ifdef HAVE_ICONV
 void
-charset_init();
+charset_init() noexcept;
 #endif
 
 char *
@@ -63,11 +63,11 @@ public:
        Utf8ToLocale(const Utf8ToLocale &) = delete;
        Utf8ToLocale &operator=(const Utf8ToLocale &) = delete;
 #else
-       explicit Utf8ToLocale(const char *src)
+       explicit Utf8ToLocale(const char *src) noexcept
                :value(src) {}
 #endif
 
-       const char *c_str() const {
+       const char *c_str() const noexcept {
 #ifdef HAVE_ICONV
                return value.c_str();
 #else
@@ -95,11 +95,11 @@ public:
        LocaleToUtf8(const LocaleToUtf8 &) = delete;
        LocaleToUtf8 &operator=(const LocaleToUtf8 &) = delete;
 #else
-       explicit LocaleToUtf8(const char *src)
+       explicit LocaleToUtf8(const char *src) noexcept
                :value(src) {}
 #endif
 
-       const char *c_str() const {
+       const char *c_str() const noexcept {
 #ifdef HAVE_ICONV
                return value.c_str();
 #else