]> Dogcows Code - chaz/yoink/blobdiff - src/Moof/Settings.cc
improved new vorbisfile compatibility
[chaz/yoink] / src / Moof / Settings.cc
index ad9c3b0fdebbb9b9eaf14a4ae5d752cad1acb278..6883ddc4f852d3edd4191957e81529f87f155c8a 100644 (file)
@@ -32,6 +32,7 @@
 
 #include <boost/algorithm/string.hpp>
 
+#include "Log.hh"
 #include "Settings.hh"
 
 
@@ -69,14 +70,14 @@ void Settings::parseArgs(int argc, char* argv[])
 
                        try
                        {
-                               SerializablePtr value(deserializer.deserialize());
+                               SerializableP value(deserializer.deserialize());
                                map_[key] = value;
                        }
                        catch (std::exception e)
                        {
                                // it doesn't deserialize to anything we know, so just store it
                                // as a string
-                               map_[key] = SerializablePtr(new SerializableString(stringValue));
+                               map_[key] = SerializableP(new SerializableBasic<Serializable::String>(stringValue));
                        }
                }
        }
@@ -104,15 +105,15 @@ void Settings::loadFromFiles(const std::vector<std::string>& filePaths,
 
                if (home)
                {
-                       boost::replace_first(path, "$HOME", home);
+                       boost::replace_all(path, "$HOME", home);
                }
 
                try
                {
                        Deserializer deserializer(*it, true);
 
-                       SerializablePtr obj = deserializer.deserialize();
-                       std::map<std::string,SerializablePtr> map;
+                       SerializableP obj = deserializer.deserialize();
+                       Serializable::Map map;
 
                        if (obj && obj->get(map))
                        {
@@ -129,8 +130,8 @@ void Settings::loadFromFiles(const std::vector<std::string>& filePaths,
                }
                catch (Deserializer::Exception e)
                {
-                       std::cerr << "Cannot load settings from " << *it <<
-                               " because an exception was thrown: " << e.what() << std::endl;
+                       logWarning("cannot load settings from %s because an exception was"
+                                       "thrown: %s", (*it).c_str(), e.what());
                }
        }
 }
This page took 0.020389 seconds and 4 git commands to generate.