Lines Matching refs:buffer

54 static int from_home_dir(const char *envname, const char *suffix, char **buffer, const char **ret) {
60 assert(buffer);
84 *buffer = cc;
89 static int from_user_dir(const char *field, char **buffer, const char **ret) {
98 assert(buffer);
156 *buffer = cc;
161 r = get_home_dir(buffer);
165 *ret = *buffer;
174 *buffer = copy;
194 *buffer = cc;
198 r = get_home_dir(buffer);
202 *ret = *buffer;
208 static int get_path(uint64_t type, char **buffer, const char **ret) {
211 assert(buffer);
279 return from_home_dir(NULL, ".local/bin", buffer, ret);
282 return from_home_dir(NULL, ".local/lib", buffer, ret);
285 return from_home_dir(NULL, ".local/lib/" LIB_ARCH_TUPLE, buffer, ret);
288 return from_home_dir("XDG_DATA_HOME", ".local/share", buffer, ret);
291 return from_home_dir("XDG_CONFIG_HOME", ".config", buffer, ret);
297 return from_home_dir("XDG_CACHE_HOME", ".cache", buffer, ret);
300 r = get_home_dir(buffer);
304 *ret = *buffer;
308 return from_user_dir("XDG_DOCUMENTS_DIR", buffer, ret);
311 return from_user_dir("XDG_MUSIC_DIR", buffer, ret);
314 return from_user_dir("XDG_PICTURES_DIR", buffer, ret);
317 return from_user_dir("XDG_VIDEOS_DIR", buffer, ret);
320 return from_user_dir("XDG_DOWNLOAD_DIR", buffer, ret);
323 return from_user_dir("XDG_PUBLICSHARE_DIR", buffer, ret);
326 return from_user_dir("XDG_TEMPLATES_DIR", buffer, ret);
329 return from_user_dir("XDG_DESKTOP_DIR", buffer, ret);
336 char *buffer = NULL, *cc;
357 buffer = strv_join(l, ":");
358 if (!buffer)
361 *path = buffer;
365 r = get_path(type, &buffer, &ret);
370 if (!buffer) {
371 buffer = strdup(ret);
372 if (!buffer)
376 *path = buffer;
387 free(buffer);