mirror of
				https://gitlab.freedesktop.org/wlroots/wlroots.git
				synced 2025-11-03 09:01:40 -05:00 
			
		
		
		
	
						commit
						41b5294013
					
				
					 2 changed files with 20 additions and 2 deletions
				
			
		
							
								
								
									
										17
									
								
								common/log.c
									
										
									
									
									
								
							
							
						
						
									
										17
									
								
								common/log.c
									
										
									
									
									
								
							| 
						 | 
					@ -58,3 +58,20 @@ void _wlr_log(log_importance_t verbosity, const char *fmt, ...) {
 | 
				
			||||||
	log_callback(verbosity, fmt, args);
 | 
						log_callback(verbosity, fmt, args);
 | 
				
			||||||
	va_end(args);
 | 
						va_end(args);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// strips the path prefix from filepath
 | 
				
			||||||
 | 
					// will try to strip WLR_SRC_DIR as well as a relative src dir
 | 
				
			||||||
 | 
					// e.g. '/src/build/wlroots/backend/wayland/backend.c' and
 | 
				
			||||||
 | 
					// '../backend/wayland/backend.c' will both be stripped to
 | 
				
			||||||
 | 
					// 'backend/wayland/backend.c'
 | 
				
			||||||
 | 
					const char *_strip_path(const char *filepath) {
 | 
				
			||||||
 | 
						static int srclen = strlen(WLR_SRC_DIR) + 1;
 | 
				
			||||||
 | 
						if(*filepath == '.') {
 | 
				
			||||||
 | 
							while(*filepath == '.' || *filepath == '/') {
 | 
				
			||||||
 | 
								++filepath;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							filepath += srclen;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return filepath;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,12 +13,13 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void _wlr_log(log_importance_t verbosity, const char *format, ...) ATTRIB_PRINTF(2, 3);
 | 
					void _wlr_log(log_importance_t verbosity, const char *format, ...) ATTRIB_PRINTF(2, 3);
 | 
				
			||||||
void _wlr_vlog(log_importance_t verbosity, const char *format, va_list args) ATTRIB_PRINTF(2, 0);
 | 
					void _wlr_vlog(log_importance_t verbosity, const char *format, va_list args) ATTRIB_PRINTF(2, 0);
 | 
				
			||||||
 | 
					const char *_strip_path(const char *filepath);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define wlr_log(verb, fmt, ...) \
 | 
					#define wlr_log(verb, fmt, ...) \
 | 
				
			||||||
	_wlr_log(verb, "[%s:%d] " fmt, __FILE__ + strlen(WLR_SRC_DIR) + 1, __LINE__, ##__VA_ARGS__)
 | 
						_wlr_log(verb, "[%s:%d] " fmt, _strip_path(__FILE__), __LINE__, ##__VA_ARGS__)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define wlr_vlog(verb, fmt, args) \
 | 
					#define wlr_vlog(verb, fmt, args) \
 | 
				
			||||||
	_wlr_vlog(verb, "[%s:%d] " fmt, __FILE__ + strlen(WLR_SRC_DIR) + 1, __LINE__, args)
 | 
						_wlr_vlog(verb, "[%s:%d] " fmt, _strip_path(__FILE__), __LINE__, args)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define wlr_log_errno(verb, fmt, ...) \
 | 
					#define wlr_log_errno(verb, fmt, ...) \
 | 
				
			||||||
	wlr_log(verb, fmt ": %s", ##__VA_ARGS__, strerror(errno))
 | 
						wlr_log(verb, fmt ": %s", ##__VA_ARGS__, strerror(errno))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue