summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Salveti de Araujo <ricardo.salveti@canonical.com>2014-10-01 20:07:04 -0300
committerDavid Henningsson <david.henningsson@canonical.com>2014-10-06 15:50:03 +0200
commit9dd4e8df3e37c7e4d3235e1813b4102f2b3b07d0 (patch)
tree980387953b2bc8fe5f23c94bdae56113f254e787
parent8fb5e7c32aa52947087657dbbc2e2aa44c6064b4 (diff)
module-stream-restore: use entry_write when filling up the database
It seems at some point the code migrated to use the entry_write calls, but fill_db is still using the old syntax, causing the entry to be invalid. The crash happens when clean_up_db gets called, which then calls entry_read, causing the crash. Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
-rw-r--r--src/modules/module-stream-restore.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/src/modules/module-stream-restore.c b/src/modules/module-stream-restore.c
index 38d6aac62..06ab543d5 100644
--- a/src/modules/module-stream-restore.c
+++ b/src/modules/module-stream-restore.c
@@ -1831,7 +1831,6 @@ static int fill_db(struct userdata *u, const char *filename) {
*d = 0;
if (pa_atod(v, &db) >= 0) {
if (db <= 0.0) {
- pa_datum key, data;
struct entry e;
pa_zero(e);
@@ -1840,13 +1839,7 @@ static int fill_db(struct userdata *u, const char *filename) {
pa_cvolume_set(&e.volume, 1, pa_sw_volume_from_dB(db));
pa_channel_map_init_mono(&e.channel_map);
- key.data = (void *) ln;
- key.size = strlen(ln);
-
- data.data = (void *) &e;
- data.size = sizeof(e);
-
- if (pa_database_set(u->database, &key, &data, false) == 0)
+ if (entry_write(u, ln, &e, false))
pa_log_debug("Setting %s to %0.2f dB.", ln, db);
} else
pa_log_warn("[%s:%u] Positive dB values are not allowed, not setting entry %s.", fn, n, ln);