diff options
author | nyorain <nyorain@gmail.com> | 2017-06-19 20:17:40 +0200 |
---|---|---|
committer | nyorain <nyorain@gmail.com> | 2017-06-19 20:17:40 +0200 |
commit | 24147225745b8a78af5db43c065c2ad84f0a115e (patch) | |
tree | 873a715a3bcfd1a1b823a8e3dfe7c052cf8cf412 | |
parent | acbc0a019a8b9a94fb8a7c1c0c226f482504dd68 (diff) |
Make log:_strip_path more efficient
-rw-r--r-- | common/log.c | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/common/log.c b/common/log.c index 1a4a28a8..90eedf4c 100644 --- a/common/log.c +++ b/common/log.c @@ -65,22 +65,13 @@ void _wlr_log(log_importance_t verbosity, const char *fmt, ...) { // '../backend/wayland/backend.c' will both be stripped to // 'backend/wayland/backend.c' const char *_strip_path(const char *filepath) { - const char *srcit = WLR_SRC_DIR; - const char *fileit = filepath; - - // remove WLR_SRC_DIR prefix - while(*fileit != '\0' && *srcit != '\0' && *fileit == *srcit) { - ++fileit; - ++srcit; - } - if(fileit != filepath) { - ++fileit; + static int srclen = strlen(WLR_SRC_DIR) + 1; + if(*filepath == '.') { + while(*filepath == '.' || *filepath == '/') { + ++filepath; + } + } else { + filepath += srclen; } - - // remove relative prefix - while(*fileit == '.' || *fileit == '/') { - ++fileit; - } - - return fileit; + return filepath; } |