diff options
| author | Simon Ser <contact@emersion.fr> | 2022-05-27 17:14:24 +0200 |
|---|---|---|
| committer | Simon Ser <contact@emersion.fr> | 2022-05-27 22:41:11 +0200 |
| commit | 7a399383fc6b4586368c1083062bd28e9e30d5fb (patch) | |
| tree | 11b4c60d1d8dde01c16b444a4b722d86691e8bd3 /cursor/xcursor.c | |
| parent | cursor: remove unnecessary ifs in xcursor_load_theme (diff) | |
| download | wayland-7a399383fc6b4586368c1083062bd28e9e30d5fb.tar wayland-7a399383fc6b4586368c1083062bd28e9e30d5fb.tar.gz wayland-7a399383fc6b4586368c1083062bd28e9e30d5fb.tar.bz2 wayland-7a399383fc6b4586368c1083062bd28e9e30d5fb.tar.lz wayland-7a399383fc6b4586368c1083062bd28e9e30d5fb.tar.xz wayland-7a399383fc6b4586368c1083062bd28e9e30d5fb.tar.zst wayland-7a399383fc6b4586368c1083062bd28e9e30d5fb.zip | |
cursor: simplify xcursor_library_path
- Use early returns
- De-duplicate XDG_DATA_HOME code-paths
- Don't crash on allocation failure
- Use size_t when appropriate
- Fix indentation
Signed-off-by: Simon Ser <contact@emersion.fr>
Diffstat (limited to 'cursor/xcursor.c')
| -rw-r--r-- | cursor/xcursor.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/cursor/xcursor.c b/cursor/xcursor.c index 2caa2d6..b923596 100644 --- a/cursor/xcursor.c +++ b/cursor/xcursor.c @@ -539,24 +539,24 @@ xcursor_xc_file_load_images(FILE *file, int size) static char * xcursor_library_path(void) { - const char *env_var; - char *path = NULL; - int pathlen = 0; + const char *env_var, *suffix; + char *path; + size_t path_size; env_var = getenv("XCURSOR_PATH"); - if (env_var) { - path = strdup(env_var); - } else { - env_var = getenv("XDG_DATA_HOME"); - if (env_var) { - pathlen = strlen(env_var) + strlen(CURSORDIR ":" XCURSORPATH) + 1; - path = malloc(pathlen); - snprintf(path, pathlen, "%s%s", env_var, - CURSORDIR ":" XCURSORPATH); - } else { - path = strdup(XDG_DATA_HOME_FALLBACK CURSORDIR ":" XCURSORPATH); - } - } + if (env_var) + return strdup(env_var); + + env_var = getenv("XDG_DATA_HOME"); + if (!env_var) + env_var = XDG_DATA_HOME_FALLBACK; + + suffix = CURSORDIR ":" XCURSORPATH; + path_size = strlen(env_var) + strlen(suffix) + 1; + path = malloc(path_size); + if (!path) + return NULL; + snprintf(path, path_size, "%s%s", env_var, suffix); return path; } |
