revert to old boost based regex as GCC does not properly implement it prior to GCC 4.90
This commit is contained in:
		
							parent
							
								
									e28e45f38e
								
							
						
					
					
						commit
						d53eb881c2
					
				| @ -32,6 +32,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
| 
 | ||||
| #include <boost/filesystem.hpp> | ||||
| #include <boost/filesystem/fstream.hpp> | ||||
| #include <boost/regex.hpp> | ||||
| 
 | ||||
| #include <regex> | ||||
| #include <string> | ||||
| @ -40,21 +41,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
| inline std::string ReadIniFileAndLowerContents(const boost::filesystem::path &path) | ||||
| { | ||||
|     boost::filesystem::fstream config_stream(path); | ||||
|     std::string input_str((std::istreambuf_iterator<char>(config_stream)), | ||||
|     std::string ini_file_content((std::istreambuf_iterator<char>(config_stream)), | ||||
|                           std::istreambuf_iterator<char>()); | ||||
|     std::regex regex("\\w+="); | ||||
| 
 | ||||
|     std::string output = input_str; | ||||
|     const std::sregex_token_iterator end; | ||||
|     for (std::sregex_token_iterator i(input_str.begin(), input_str.end(), regex); i != end; ++i) | ||||
|     { | ||||
|         std::string match = *i; | ||||
|         std::string new_regex = *i; | ||||
|         std::transform(new_regex.begin(), new_regex.end(), new_regex.begin(), ::tolower); | ||||
|         SimpleLogger().Write() << match << " - " << new_regex; | ||||
|         output = std::regex_replace(output, std::regex(match), new_regex); | ||||
|     } | ||||
|     return output; | ||||
|     boost::regex regex( "^([^=]*)" ); //match from start of line to '='
 | ||||
|     std::string format( "\\L$1\\E" ); //replace with downcased substring
 | ||||
|     return boost::regex_replace( ini_file_content, regex, format ); | ||||
| } | ||||
| 
 | ||||
| #endif // INI_FILE_UTIL_H
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user