Only replace newline with spaces for logging
This commit is contained in:
		
							parent
							
								
									5d4b91963c
								
							
						
					
					
						commit
						4411f88904
					
				|  | @ -117,6 +117,10 @@ static inline void debug_window() { | ||||||
|     if (ImGui::Checkbox("Add log entry every second", &log_entry_every_second)) { |     if (ImGui::Checkbox("Add log entry every second", &log_entry_every_second)) { | ||||||
|         log_entry_every_second_delta = 0.0f; |         log_entry_every_second_delta = 0.0f; | ||||||
|     } |     } | ||||||
|  |     if (ImGui::Button("Add Log Entry with Newlines")) { | ||||||
|  |         log("The following should have five spaces: \"\n\n\n\n\n\""); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     if (log_entry_every_second) { |     if (log_entry_every_second) { | ||||||
|         log_entry_every_second_delta += ImGui::GetIO().DeltaTime; |         log_entry_every_second_delta += ImGui::GetIO().DeltaTime; | ||||||
|         if (log_entry_every_second_delta >= 1.0f) { |         if (log_entry_every_second_delta >= 1.0f) { | ||||||
|  |  | ||||||
							
								
								
									
										26
									
								
								log.cpp
								
								
								
								
							
							
						
						
									
										26
									
								
								log.cpp
								
								
								
								
							|  | @ -31,25 +31,21 @@ static time_t current_time() { | ||||||
| std::string log_entries; | std::string log_entries; | ||||||
| 
 | 
 | ||||||
| void log(std::string entry, time_t time) { | void log(std::string entry, time_t time) { | ||||||
|     size_t last_newline_pos = 0, newline_pos; |     size_t newline_pos; | ||||||
|     std::string line; |  | ||||||
|     char time_as_str[128] = {0}; |     char time_as_str[128] = {0}; | ||||||
| 
 | 
 | ||||||
|     strftime(time_as_str, 127 * sizeof(char), "%c", localtime(&time)); |     strftime(time_as_str, 127 * sizeof(char), "%c", localtime(&time)); | ||||||
|     do { |     while ((newline_pos = entry.find('\n')) != std::string::npos) { | ||||||
|         newline_pos = entry.find('\n', last_newline_pos); |         entry.replace(newline_pos, 1, 1, ' '); | ||||||
|         line = '['; |     } | ||||||
|         line += time_as_str; |  | ||||||
|         line += "] "; |  | ||||||
|         line += entry.substr(last_newline_pos, newline_pos); |  | ||||||
| 
 | 
 | ||||||
|         printf("%s\n", line.c_str()); |     if (!log_entries.empty()) { | ||||||
|         if (!log_entries.empty()) { |         log_entries += '\n'; | ||||||
|             log_entries += '\n'; |     } | ||||||
|         } |     log_entries += '['; | ||||||
|         log_entries += std::move(line); |     log_entries += time_as_str; | ||||||
|         last_newline_pos = newline_pos + 1; |     log_entries += "] "; | ||||||
|     } while (last_newline_pos); |     log_entries += std::move(entry); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void log(std::string entry) { | void log(std::string entry) { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue