Make log:_strip_path more efficient

This commit is contained in:
nyorain 2017-06-19 20:17:40 +02:00
parent acbc0a019a
commit 2414722574
1 changed files with 8 additions and 17 deletions

View File

@ -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' will both be stripped to
// 'backend/wayland/backend.c' // 'backend/wayland/backend.c'
const char *_strip_path(const char *filepath) { const char *_strip_path(const char *filepath) {
const char *srcit = WLR_SRC_DIR; static int srclen = strlen(WLR_SRC_DIR) + 1;
const char *fileit = filepath; if(*filepath == '.') {
while(*filepath == '.' || *filepath == '/') {
// remove WLR_SRC_DIR prefix ++filepath;
while(*fileit != '\0' && *srcit != '\0' && *fileit == *srcit) { }
++fileit; } else {
++srcit; filepath += srclen;
} }
if(fileit != filepath) { return filepath;
++fileit;
}
// remove relative prefix
while(*fileit == '.' || *fileit == '/') {
++fileit;
}
return fileit;
} }