aboutsummaryrefslogtreecommitdiffstats
path: root/cursor/xcursor.c
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2022-05-27 17:14:24 +0200
committerSimon Ser <contact@emersion.fr>2022-05-27 22:41:11 +0200
commit7a399383fc6b4586368c1083062bd28e9e30d5fb (patch)
tree11b4c60d1d8dde01c16b444a4b722d86691e8bd3 /cursor/xcursor.c
parentcursor: remove unnecessary ifs in xcursor_load_theme (diff)
downloadwayland-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.c32
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;
}