mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-29 18:52:30 +00:00 
			
		
		
		
	cxxrtl: fix two buggy split_by functions.
This commit is contained in:
		
							parent
							
								
									74e3ac2449
								
							
						
					
					
						commit
						bbfe55a8d0
					
				
					 2 changed files with 16 additions and 14 deletions
				
			
		|  | @ -474,14 +474,16 @@ std::vector<std::string> split_by(const std::string &str, const std::string &sep | |||
| 	std::vector<std::string> result; | ||||
| 	size_t prev = 0; | ||||
| 	while (true) { | ||||
| 		size_t curr = str.find_first_of(sep, prev + 1); | ||||
| 		if (curr > str.size()) | ||||
| 			curr = str.size(); | ||||
| 		if (curr > prev + 1) | ||||
| 			result.push_back(str.substr(prev, curr - prev)); | ||||
| 		if (curr == str.size()) | ||||
| 		size_t curr = str.find_first_of(sep, prev); | ||||
| 		if (curr == std::string::npos) { | ||||
| 			std::string part = str.substr(prev); | ||||
| 			if (!part.empty()) result.push_back(part); | ||||
| 			break; | ||||
| 		prev = curr; | ||||
| 		} else { | ||||
| 			std::string part = str.substr(prev, curr - prev); | ||||
| 			if (!part.empty()) result.push_back(part); | ||||
| 			prev = curr + 1; | ||||
| 		} | ||||
| 	} | ||||
| 	return result; | ||||
| } | ||||
|  |  | |||
|  | @ -136,15 +136,15 @@ class vcd_writer { | |||
| 		std::vector<std::string> hierarchy; | ||||
| 		size_t prev = 0; | ||||
| 		while (true) { | ||||
| 			size_t curr = hier_name.find_first_of(' ', prev + 1); | ||||
| 			if (curr > hier_name.size()) | ||||
| 				curr = hier_name.size(); | ||||
| 			if (curr > prev + 1) | ||||
| 				hierarchy.push_back(hier_name.substr(prev, curr - prev)); | ||||
| 			if (curr == hier_name.size()) | ||||
| 			size_t curr = hier_name.find_first_of(' ', prev); | ||||
| 			if (curr == std::string::npos) { | ||||
| 				hierarchy.push_back(hier_name.substr(prev)); | ||||
| 				break; | ||||
| 			} else { | ||||
| 				hierarchy.push_back(hier_name.substr(prev, curr - prev)); | ||||
| 				prev = curr + 1; | ||||
| 			} | ||||
| 		} | ||||
| 		return hierarchy; | ||||
| 	} | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue