summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/interface.c9
-rw-r--r--src/interface.h2
-rw-r--r--src/pa-sink-ctl.c12
3 files changed, 12 insertions, 11 deletions
diff --git a/src/interface.c b/src/interface.c
index 905ffa3..4af03c0 100644
--- a/src/interface.c
+++ b/src/interface.c
@@ -19,6 +19,7 @@
#include <unistd.h>
#include <string.h>
+#include <stdarg.h>
#include <sys/ioctl.h>
#include <glib.h>
@@ -209,11 +210,15 @@ interface_clear(struct context *ctx)
}
void
-interface_set_status(struct context *ctx, const gchar *msg)
+interface_set_status(struct context *ctx, const gchar *msg, ...)
{
+ va_list ap;
+
if (msg != NULL) {
g_free(ctx->status);
- ctx->status = g_strdup(msg);
+ va_start(ap, msg);
+ ctx->status = g_strdup_vprintf(msg, ap);
+ va_end(ap);
}
werase(ctx->msg_win);
box(ctx->msg_win, 0, 0);
diff --git a/src/interface.h b/src/interface.h
index abd6341..d07f298 100644
--- a/src/interface.h
+++ b/src/interface.h
@@ -38,6 +38,6 @@ void
interface_clear(struct context *ctx);
void
-interface_set_status(struct context *ctx, const gchar *);
+interface_set_status(struct context *ctx, const gchar *, ...);
#endif
diff --git a/src/pa-sink-ctl.c b/src/pa-sink-ctl.c
index 7dfe187..7ee00eb 100644
--- a/src/pa-sink-ctl.c
+++ b/src/pa-sink-ctl.c
@@ -348,10 +348,8 @@ main(int argc, char** argv)
mainloop_api = pa_glib_mainloop_get_api(m);
if (!(ctx.context = pa_context_new(mainloop_api, "pa-sink-ctl"))) {
- char *s = g_strdup_printf("pa_context_new failed: %s\n",
- pa_strerror(pa_context_errno(ctx.context)));
- interface_set_status(&ctx, s);
- g_free(s);
+ interface_set_status(&ctx, "pa_context_new failed: %s\n",
+ pa_strerror(pa_context_errno(ctx.context)));
}
// define callback for connection init
@@ -359,10 +357,8 @@ main(int argc, char** argv)
context_state_callback, &ctx);
if (pa_context_connect(ctx.context, NULL,
PA_CONTEXT_NOAUTOSPAWN, NULL)) {
- char *s = g_strdup_printf("pa_context_connect failed: %s\n",
- pa_strerror(pa_context_errno(ctx.context)));
- interface_set_status(&ctx, s);
- g_free(s);
+ interface_set_status(&ctx, "pa_context_connect failed: %s\n",
+ pa_strerror(pa_context_errno(ctx.context)));
}
ctx.return_value = 0;