return r;
}
+char *pa_get_state_dir(void) {
+ const char *e;
+ char *d;
+
+ if ((e = getenv("PULSE_STATE_PATH")))
+ d = pa_xstrdup(e);
+ else {
+ char h[PATH_MAX];
+
+ if (!pa_get_home_dir(h, sizeof(h))) {
+ pa_log_error("Failed to get home directory.");
+ return NULL;
+ }
+
+ d = pa_sprintf_malloc("%s/.pulse", h);
+ }
+
+ mkdir(d, 0755);
+
+ if (access(d, W_OK) == 0)
+ return d;
+
+ pa_log_error("Failed to set up state directory %s", d);
+
+ pa_xfree(d);
+
+ return NULL;
+}
+
/* Try to open a configuration file. If "env" is specified, open the
* value of the specified environment variable. Otherwise look for a
* file "local" in the home directory or a file "global" in global
#include <stdarg.h>
#include <stdio.h>
-#include <pulsecore/gccmacro.h>
+#include <pulse/gccmacro.h>
#include <pulsecore/macro.h>
struct timeval;
return b ? "yes" : "no";
}
+static inline const char *pa_strnull(const char *x) {
+ return x ? x : "(null)";
+}
+
char *pa_split(const char *c, const char*delimiters, const char **state);
char *pa_split_spaces(const char *c, const char **state);
char *pa_readlink(const char *p);
+char *pa_get_state_dir(void);
+
#endif