commit
41b5294013
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…
Reference in New Issue