[pulseaudio-discuss] [PATCH 1/9] client-conf: Don't report failure from pa_client_conf_load()

Tanu Kaskinen tanu.kaskinen at linux.intel.com
Sun Jun 8 06:32:53 PDT 2014


pa_context already ignored the return value of pa_client_conf_load(),
so the only places where the return value was not ignored were the
D-Bus server lookup thing and pax11publish. I don't think those cases
are negatively affected if they ignore errors in opening or parsing
client.conf.

pa_client_conf_env() never failed anyway, so returning int was
obviously redundant.
---
 src/daemon/server-lookup.c | 30 +-----------------------------
 src/pulse/client-conf.c    | 23 +++++++----------------
 src/pulse/client-conf.h    |  4 ++--
 src/utils/pax11publish.c   | 11 ++---------
 4 files changed, 12 insertions(+), 56 deletions(-)

diff --git a/src/daemon/server-lookup.c b/src/daemon/server-lookup.c
index 1f088e6..6557fb7 100644
--- a/src/daemon/server-lookup.c
+++ b/src/daemon/server-lookup.c
@@ -115,7 +115,6 @@ finish:
 
 enum get_address_result_t {
     SUCCESS,
-    FAILED_TO_LOAD_CLIENT_CONF,
     SERVER_FROM_TYPE_FAILED
 };
 
@@ -126,10 +125,7 @@ static enum get_address_result_t get_address(pa_server_type_t server_type, char
 
     *address = NULL;
 
-    if (pa_client_conf_load(conf) < 0) {
-        r = FAILED_TO_LOAD_CLIENT_CONF;
-        goto finish;
-    }
+    pa_client_conf_load(conf);
 
     if (conf->default_dbus_server)
         *address = pa_xstrdup(conf->default_dbus_server);
@@ -180,18 +176,6 @@ static DBusHandlerResult handle_get_address(DBusConnection *conn, DBusMessage *m
             r = DBUS_HANDLER_RESULT_HANDLED;
             goto finish;
 
-        case FAILED_TO_LOAD_CLIENT_CONF:
-            if (!(reply = dbus_message_new_error(msg, "org.pulseaudio.ClientConfLoadError", "Failed to load client.conf."))) {
-                r = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-                goto finish;
-            }
-            if (!dbus_connection_send(conn, reply, NULL)) {
-                r = DBUS_HANDLER_RESULT_NEED_MEMORY;
-                goto finish;
-            }
-            r = DBUS_HANDLER_RESULT_HANDLED;
-            goto finish;
-
         case SERVER_FROM_TYPE_FAILED:
             if (!(reply = dbus_message_new_error(msg, DBUS_ERROR_FAILED, "PulseAudio internal error: get_dbus_server_from_type() failed."))) {
                 r = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
@@ -398,18 +382,6 @@ static DBusHandlerResult handle_get_all(DBusConnection *conn, DBusMessage *msg,
             r = DBUS_HANDLER_RESULT_HANDLED;
             goto finish;
 
-        case FAILED_TO_LOAD_CLIENT_CONF:
-            if (!(reply = dbus_message_new_error(msg, "org.pulseaudio.ClientConfLoadError", "Failed to load client.conf."))) {
-                r = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-                goto finish;
-            }
-            if (!dbus_connection_send(conn, reply, NULL)) {
-                r = DBUS_HANDLER_RESULT_NEED_MEMORY;
-                goto finish;
-            }
-            r = DBUS_HANDLER_RESULT_HANDLED;
-            goto finish;
-
         case SERVER_FROM_TYPE_FAILED:
             if (!(reply = dbus_message_new_error(msg, DBUS_ERROR_FAILED, "PulseAudio internal error: get_dbus_server_from_type() failed."))) {
                 r = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
diff --git a/src/pulse/client-conf.c b/src/pulse/client-conf.c
index e91e877..db54743 100644
--- a/src/pulse/client-conf.c
+++ b/src/pulse/client-conf.c
@@ -91,10 +91,9 @@ void pa_client_conf_free(pa_client_conf *c) {
     pa_xfree(c);
 }
 
-int pa_client_conf_load(pa_client_conf *c) {
+void pa_client_conf_load(pa_client_conf *c) {
     FILE *f = NULL;
     char *fn = NULL;
-    int r = -1;
 
     /* Prepare the configuration parse table */
     pa_config_item table[] = {
@@ -114,19 +113,13 @@ int pa_client_conf_load(pa_client_conf *c) {
         { NULL,                     NULL,                     NULL, NULL },
     };
 
-    if (!(f = pa_open_config_file(DEFAULT_CLIENT_CONFIG_FILE, DEFAULT_CLIENT_CONFIG_FILE_USER, ENV_CLIENT_CONFIG_FILE, &fn)))
-        if (errno != ENOENT)
-            goto finish;
+    f = pa_open_config_file(DEFAULT_CLIENT_CONFIG_FILE, DEFAULT_CLIENT_CONFIG_FILE_USER, ENV_CLIENT_CONFIG_FILE, &fn);
+    if (!f)
+        return;
 
-    r = f ? pa_config_parse(fn, f, table, NULL, NULL) : 0;
-
-finish:
+    pa_config_parse(fn, f, table, NULL, NULL);
     pa_xfree(fn);
-
-    if (f)
-        fclose(f);
-
-    return r;
+    fclose(f);
 }
 
 int pa_client_conf_load_cookie(pa_client_conf *c, uint8_t *cookie, size_t cookie_length) {
@@ -190,7 +183,7 @@ int pa_client_conf_load_cookie(pa_client_conf *c, uint8_t *cookie, size_t cookie
     return -1;
 }
 
-int pa_client_conf_env(pa_client_conf *c) {
+void pa_client_conf_env(pa_client_conf *c) {
     char *e;
 
     if ((e = getenv(ENV_DEFAULT_SINK))) {
@@ -220,8 +213,6 @@ int pa_client_conf_env(pa_client_conf *c) {
         pa_xfree(c->cookie_file_from_env);
         c->cookie_file_from_env = pa_xstrdup(e);
     }
-
-    return 0;
 }
 
 void pa_client_conf_set_cookie_file_from_application(pa_client_conf *c, const char *cookie_file) {
diff --git a/src/pulse/client-conf.h b/src/pulse/client-conf.h
index cf424f5..05a7025 100644
--- a/src/pulse/client-conf.h
+++ b/src/pulse/client-conf.h
@@ -49,7 +49,7 @@ void pa_client_conf_free(pa_client_conf *c);
 
 /* Load the configuration data from the client configuration file, overwriting
  * the current settings in *c. */
-int pa_client_conf_load(pa_client_conf *c);
+void pa_client_conf_load(pa_client_conf *c);
 
 /* Load the cookie from the cookie sources specified in the configuration, or
  * if nothing is specified or none of the sources work, load the cookie from
@@ -59,7 +59,7 @@ int pa_client_conf_load_cookie(pa_client_conf *c, uint8_t *cookie, size_t cookie
 
 /* Load the configuration data from the environment of the current
    process, overwriting the current settings in *c. */
-int pa_client_conf_env(pa_client_conf *c);
+void pa_client_conf_env(pa_client_conf *c);
 
 void pa_client_conf_set_cookie_file_from_application(pa_client_conf *c, const char *cookie_file);
 
diff --git a/src/utils/pax11publish.c b/src/utils/pax11publish.c
index f79975d..e4f9943 100644
--- a/src/utils/pax11publish.c
+++ b/src/utils/pax11publish.c
@@ -152,15 +152,8 @@ int main(int argc, char *argv[]) {
             char hx[PA_NATIVE_COOKIE_LENGTH*2+1];
             assert(conf);
 
-            if (pa_client_conf_load(conf) < 0) {
-                fprintf(stderr, _("Failed to load client configuration file.\n"));
-                goto finish;
-            }
-
-            if (pa_client_conf_env(conf) < 0) {
-                fprintf(stderr, _("Failed to read environment configuration data.\n"));
-                goto finish;
-            }
+            pa_client_conf_load(conf);
+            pa_client_conf_env(conf);
 
             pa_x11_del_prop(xcb, screen, "PULSE_SERVER");
             pa_x11_del_prop(xcb, screen, "PULSE_SINK");
-- 
1.9.3



More information about the pulseaudio-discuss mailing list