wesnoth-cvs-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Wesnoth-cvs-commits] wesnoth/src publish_campaign.cpp


From: David White
Subject: [Wesnoth-cvs-commits] wesnoth/src publish_campaign.cpp
Date: Tue, 14 Sep 2004 07:53:11 -0400

CVSROOT:        /cvsroot/wesnoth
Module name:    wesnoth
Branch:         
Changes by:     David White <address@hidden>    04/09/14 11:47:29

Modified files:
        src            : publish_campaign.cpp 

Log message:
        attempt to fix crash on startup in campaignd on some systems

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/publish_campaign.cpp.diff?tr1=1.2&tr2=1.3&r1=text&r2=text

Patches:
Index: wesnoth/src/publish_campaign.cpp
diff -u wesnoth/src/publish_campaign.cpp:1.2 
wesnoth/src/publish_campaign.cpp:1.3
--- wesnoth/src/publish_campaign.cpp:1.2        Mon Sep 13 03:16:19 2004
+++ wesnoth/src/publish_campaign.cpp    Tue Sep 14 11:47:28 2004
@@ -6,11 +6,17 @@
 #include <cstring>
 
 namespace {
-const std::string campaign_dir = get_user_data_dir() + "/data/campaigns";
+
+const std::string& campaign_dir()
+{
+       static const std::string res = get_user_data_dir() + "/data/campaigns";
+       return res;
+}
+
 void setup_dirs()
 {
        make_directory(get_user_data_dir() + "/data");
-       make_directory(campaign_dir);
+       make_directory(campaign_dir());
 }
 
 }
@@ -20,7 +26,7 @@
        std::vector<std::string> res;
 
        std::vector<std::string> files, dirs;
-       get_files_in_dir(campaign_dir,&files,&dirs);
+       get_files_in_dir(campaign_dir(),&files,&dirs);
 
        for(std::vector<std::string>::const_iterator i = dirs.begin(); i != 
dirs.end(); ++i) {
                const std::string cfg_file = *i + ".cfg";
@@ -100,8 +106,8 @@
 
 void archive_campaign(const std::string& campaign_name, config& cfg)
 {
-       archive_file(campaign_dir,campaign_name + ".cfg",cfg.add_child("file"));
-       archive_dir(campaign_dir,campaign_name,cfg.add_child("dir"));
+       archive_file(campaign_dir(),campaign_name + 
".cfg",cfg.add_child("file"));
+       archive_dir(campaign_dir(),campaign_name,cfg.add_child("dir"));
 }
 
 namespace {
@@ -132,7 +138,7 @@
 void unarchive_campaign(const config& cfg)
 {
        setup_dirs();
-       unarchive_dir(campaign_dir,cfg);
+       unarchive_dir(campaign_dir(),cfg);
 }
 
 namespace {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]