Author: suokko
Date: Thu Jun 12 13:28:46 2008
New Revision: 27117
URL: http://svn.gna.org/viewcvs/wesnoth?rev=27117&view=rev
Log:
strip windows line ends from cfg files when publishing addons
Modified:
trunk/src/addon_management.cpp
Modified: trunk/src/addon_management.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/addon_management.cpp?rev=27117&r1=27116&r2=27117&view=diff
==============================================================================
--- trunk/src/addon_management.cpp (original)
+++ trunk/src/addon_management.cpp Thu Jun 12 13:28:46 2008
@@ -106,6 +106,19 @@
}
static bool needs_escaping(char c) { return c == 0 || c == escape_char; }
+
+bool IsCR(const char& c)
+{
+ return c == 13;
+}
+static std::string strip_cr(std::string str, bool strip)
+{
+ if(!strip)
+ return str;
+ std::string::iterator new_end = std::remove_if(str.begin(), str.end(),
IsCR);
+ str.erase(new_end, str.end());
+ return str;
+}
static std::string encode_binary(const std::string& str)
{
@@ -196,7 +209,8 @@
static void archive_file(const std::string& path, const std::string& fname,
config& cfg)
{
cfg["name"] = fname;
- cfg["contents"] = encode_binary(read_file(path + '/' + fname));
+ bool is_cfg = (fname.size() > 4 ? (fname.substr(fname.size() - 4) ==
".cfg") :false);
+ cfg["contents"] = encode_binary(strip_cr(read_file(path + '/' +
fname),is_cfg));
}
static void archive_dir(const std::string& path, const std::string& dirname,
config& cfg, std::pair<std::vector<std::string>, std::vector<std::string> >&
ignore_patterns)
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits