diff --git a/src/main.c b/src/main.c
index d4c5168a251694d539964e9ff70adf82bc6fd545..a8fb3b36f654a93e4157c46baa594108dbf03153 100644 (file)
--- a/src/main.c
+++ b/src/main.c
const struct mpd_song *song = mpd->song;
char tmp[BUFSIZE];
+ const char *new_title = NULL;
if (options.xterm_title_format && mpd->playing && song)
- strfsong(tmp, BUFSIZE, options.xterm_title_format, song);
- else
- g_strlcpy(tmp, PACKAGE " version " VERSION, BUFSIZE);
+ new_title = strfsong(tmp, BUFSIZE, options.xterm_title_format, song) > 0
+ ? tmp
+ : NULL;
+
+ if (new_title == NULL)
+ new_title = PACKAGE " version " VERSION;
static char title[BUFSIZE];
- if (strncmp(title, tmp, BUFSIZE)) {
- g_strlcpy(title, tmp, BUFSIZE);
- set_xterm_title("%s", title);
+ if (strncmp(title, new_title, BUFSIZE)) {
+ g_strlcpy(title, new_title, BUFSIZE);
+ set_xterm_title(title);
}
}
#endif