summaryrefslogtreecommitdiffstats
path: root/src/pulsecore
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-08-07 02:28:47 +0200
committerLennart Poettering <lennart@poettering.net>2008-08-07 02:28:47 +0200
commitecb2bc4f04e5a6a71e19d4be651596cebbb83500 (patch)
tree8dc36f952bf744c649826a2bf348a1eddcb3242c /src/pulsecore
parentbd05b36a1eb54f51c9e901738a422a621fe0918d (diff)
Modify pa_state_path() to take an additional argument for prepending the machine id to the file name.
Diffstat (limited to 'src/pulsecore')
-rw-r--r--src/pulsecore/core-util.c23
-rw-r--r--src/pulsecore/core-util.h2
2 files changed, 19 insertions, 6 deletions
diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c
index 41bf42d3..d76abe83 100644
--- a/src/pulsecore/core-util.c
+++ b/src/pulsecore/core-util.c
@@ -1690,7 +1690,7 @@ char *pa_make_path_absolute(const char *p) {
/* if fn is null return the PulseAudio run time path in s (~/.pulse)
* if fn is non-null and starts with / return fn
* otherwise append fn to the run time path and return it */
-static char *get_path(const char *fn, pa_bool_t rt) {
+static char *get_path(const char *fn, pa_bool_t prependmid, pa_bool_t rt) {
char *rtp;
if (pa_is_path_absolute(fn))
@@ -1703,7 +1703,20 @@ static char *get_path(const char *fn, pa_bool_t rt) {
if (fn) {
char *r;
- r = pa_sprintf_malloc("%s" PA_PATH_SEP "%s", rtp, fn);
+
+ if (prependmid) {
+ char *mid;
+
+ if (!(mid = pa_machine_id())) {
+ pa_xfree(rtp);
+ return NULL;
+ }
+
+ r = pa_sprintf_malloc("%s" PA_PATH_SEP "%s:%s", rtp, mid, fn);
+ pa_xfree(mid);
+ } else
+ r = pa_sprintf_malloc("%s" PA_PATH_SEP "%s", rtp, fn);
+
pa_xfree(rtp);
return r;
} else
@@ -1711,11 +1724,11 @@ static char *get_path(const char *fn, pa_bool_t rt) {
}
char *pa_runtime_path(const char *fn) {
- return get_path(fn, 1);
+ return get_path(fn, FALSE, TRUE);
}
-char *pa_state_path(const char *fn) {
- return get_path(fn, 0);
+char *pa_state_path(const char *fn, pa_bool_t appendmid) {
+ return get_path(fn, appendmid, FALSE);
}
/* Convert the string s to a signed integer in *ret_i */
diff --git a/src/pulsecore/core-util.h b/src/pulsecore/core-util.h
index b0c07588..838e4ad3 100644
--- a/src/pulsecore/core-util.h
+++ b/src/pulsecore/core-util.h
@@ -121,7 +121,7 @@ char* pa_find_config_file(const char *global, const char *local, const char *env
char *pa_get_runtime_dir(void);
char *pa_get_state_dir(void);
char *pa_runtime_path(const char *fn);
-char *pa_state_path(const char *fn);
+char *pa_state_path(const char *fn, pa_bool_t prepend_machine_id);
int pa_atoi(const char *s, int32_t *ret_i);
int pa_atou(const char *s, uint32_t *ret_u);