From a8698c4d671cf3c957f2d67a4e8cedde49dae8a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Remko=20Tron=C3=A7on?= Date: Mon, 22 Jun 2009 18:53:35 +0200 Subject: Use lowercase app name for application dir on Un*x systems. diff --git a/Swiften/Application/Unix/UnixApplication.h b/Swiften/Application/Unix/UnixApplication.h index 8cf6feb..0b7bf67 100644 --- a/Swiften/Application/Unix/UnixApplication.h +++ b/Swiften/Application/Unix/UnixApplication.h @@ -16,7 +16,7 @@ namespace Swift { } boost::filesystem::path getSettingsDir() const { - boost::filesystem::path result(getHomeDir() / ("." + getName().getUTF8String())); + boost::filesystem::path result(getHomeDir() / ("." + getName().getLowerCase().getUTF8String())); boost::filesystem::create_directory(result); return result; } diff --git a/Swiften/Base/String.cpp b/Swiften/Base/String.cpp index 88692b7..52d1f2c 100644 --- a/Swiften/Base/String.cpp +++ b/Swiften/Base/String.cpp @@ -89,5 +89,10 @@ void String::replaceAll(char c, const String& s) { } } +String String::getLowerCase() const { + std::string lower(data_); + std::transform(lower.begin(), lower.end(), lower.begin(), ::tolower); + return String(lower); +} } diff --git a/Swiften/Base/String.h b/Swiften/Base/String.h index 0bc79bf..0da2e39 100644 --- a/Swiften/Base/String.h +++ b/Swiften/Base/String.h @@ -38,6 +38,7 @@ namespace Swift { std::pair getSplittedAtFirst(char c) const; size_t getLength() const; + String getLowerCase() const; void removeAll(char c); diff --git a/Swiften/Base/UnitTest/StringTest.cpp b/Swiften/Base/UnitTest/StringTest.cpp index 0b7d207..2fa9f54 100644 --- a/Swiften/Base/UnitTest/StringTest.cpp +++ b/Swiften/Base/UnitTest/StringTest.cpp @@ -23,6 +23,7 @@ class StringTest : public CppUnit::TestFixture CPPUNIT_TEST(testReplaceAll_LastChar); CPPUNIT_TEST(testReplaceAll_ConsecutiveChars); CPPUNIT_TEST(testReplaceAll_MatchingReplace); + CPPUNIT_TEST(testGetLowerCase); CPPUNIT_TEST_SUITE_END(); public: @@ -141,6 +142,12 @@ class StringTest : public CppUnit::TestFixture CPPUNIT_ASSERT_EQUAL(String("abbbc"), testling); } + + void testGetLowerCase() { + String testling("aBcD e"); + + CPPUNIT_ASSERT_EQUAL(String("abcd e"), testling.getLowerCase()); + } }; CPPUNIT_TEST_SUITE_REGISTRATION(StringTest); -- cgit v0.10.2-6-g49f6