From 521a026319775913bf828aa1c2de5ce5d717811c Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 7 Nov 2008 16:17:21 +0100 Subject: [PATCH] wreadln: return NULL instead of empty string No wreadln() caller cares about an empty string. Simplify the callers by returning NULL instead of an allocated empty string. This fixes several memory leaks. --- src/screen_play.c | 4 ++-- src/screen_search.c | 5 ----- src/screen_utils.c | 2 +- src/wreadln.c | 3 +++ 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/screen_play.c b/src/screen_play.c index 8855ffc..4c21a17 100644 --- a/src/screen_play.c +++ b/src/screen_play.c @@ -201,7 +201,7 @@ playlist_save(mpdclient_t *c, char *name, char *defaultname) #endif filename=g_strdup(name); - if (filename == NULL || filename[0] == '\0') + if (filename == NULL) return -1; /* send save command to mpd */ @@ -343,7 +343,7 @@ handle_add_to_playlist(mpdclient_t *c) #endif /* add the path to the playlist */ - if (path && path[0]) { + if (path != NULL) { char *path_utf8 = locale_to_utf8(path); mpdclient_cmd_add_path(c, path_utf8); g_free(path_utf8); diff --git a/src/screen_search.c b/src/screen_search.c index 7cb04e8..48afb4e 100644 --- a/src/screen_search.c +++ b/src/screen_search.c @@ -313,11 +313,6 @@ search_new(mpdclient_t *c) &search_history, NULL); - if (pattern && strcmp(pattern,"") == 0) { - g_free(pattern); - pattern=NULL; - } - if (pattern == NULL) { list_window_reset(browser.lw); return; diff --git a/src/screen_utils.c b/src/screen_utils.c index e44d8eb..308d049 100644 --- a/src/screen_utils.c +++ b/src/screen_utils.c @@ -177,7 +177,7 @@ screen_find(list_window_t *lw, &screen.find_history, NULL); - if (!screen.findbuf || !screen.findbuf[0]) + if (screen.findbuf == NULL) return 1; if (reversed) diff --git a/src/wreadln.c b/src/wreadln.c index df5b55e..a382fce 100644 --- a/src/wreadln.c +++ b/src/wreadln.c @@ -603,6 +603,9 @@ _wreadln(WINDOW *w, } } + if (wr.line[0] == 0) + return NULL; + return g_strdup(wr.line); } -- 2.30.2