From 132cf86a6f10b965a10f5c736e320d61c20cee77 Mon Sep 17 00:00:00 2001
From: Lukas Fleischer <calcurse@cryptocrack.de>
Date: Sun, 27 Jul 2014 11:04:24 +0200
Subject: ui-day.c: Reorganize some free() operations

Fixes regressions introduced in 21fc7a4 (Replace several uses of
snprintf() by asprintf(), 2014-07-21).

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
---
 src/ui-day.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/ui-day.c b/src/ui-day.c
index 39fa53c..ed80862 100644
--- a/src/ui-day.c
+++ b/src/ui-day.c
@@ -156,7 +156,7 @@ static void update_rept(struct rpt **rpt, const long start)
 {
 	int newtype, newfreq;
 	long newuntil;
-	char *freqstr = NULL, *timstr, *outstr = NULL;
+	char *freqstr = NULL, *timstr, *outstr;
 	const char *msg_rpt_prefix = _("Enter the new repetition type:");
 	const char *msg_rpt_daily = _("(d)aily");
 	const char *msg_rpt_weekly = _("(w)eekly");
@@ -220,14 +220,13 @@ static void update_rept(struct rpt **rpt, const long start)
 
 	do {
 		status_mesg(_("Enter the new repetition frequence:"), "");
+		mem_free(freqstr);
 		asprintf(&freqstr, "%d", (*rpt)->freq);
 		if (updatestring(win[STA].p, &freqstr, 0, 1) !=
 		    GETSTRING_VALID) {
-			mem_free(freqstr);
 			goto cleanup;
 		}
 		newfreq = atoi(freqstr);
-		mem_free(freqstr);
 		if (newfreq == 0) {
 			status_mesg(msg_wrong_freq, msg_enter);
 			wgetch(win[KEY].p);
@@ -244,6 +243,7 @@ static void update_rept(struct rpt **rpt, const long start)
 		asprintf(&outstr, _("Enter the new ending date: [%s] or '0'"),
 			 DATEFMT_DESC(conf.input_datefmt));
 		status_mesg(outstr, "");
+		mem_free(outstr);
 		timstr =
 		    date_sec2date_str((*rpt)->until,
 				      DATEFMT(conf.input_datefmt));
@@ -261,6 +261,7 @@ static void update_rept(struct rpt **rpt, const long start)
 			asprintf(&outstr, msg_fmts,
 				 DATEFMT_DESC(conf.input_datefmt));
 			status_mesg(msg_wrong_date, outstr);
+			mem_free(outstr);
 			wgetch(win[KEY].p);
 			continue;
 		}
@@ -284,7 +285,6 @@ cleanup:
 	mem_free(msg_rpt_current);
 	mem_free(msg_rpt_asktype);
 	mem_free(freqstr);
-	mem_free(outstr);
 	mem_free(timstr);
 }
 
@@ -649,7 +649,7 @@ void ui_day_item_repeat(void)
 	time_t t;
 	int year = 0, month = 0, day = 0;
 	struct date until_date;
-	char *outstr = NULL;
+	char *outstr;
 	char user_input[BUFSIZ] = "";
 	const char *msg_rpt_prefix = _("Enter the repetition type:");
 	const char *msg_rpt_daily = _("(d)aily");
@@ -727,6 +727,7 @@ void ui_day_item_repeat(void)
 		asprintf(&outstr, mesg_until_1,
 			 DATEFMT_DESC(conf.input_datefmt));
 		status_mesg(outstr, "");
+		mem_free(outstr);
 		if (getstring(win[STA].p, user_input, BUFSIZ, 0, 1) !=
 		    GETSTRING_VALID)
 			goto cleanup;
@@ -750,10 +751,10 @@ void ui_day_item_repeat(void)
 			status_mesg(mesg_older, wrong_type_2);
 			wgetch(win[KEY].p);
 		} else {
-			mem_free(outstr);
 			asprintf(&outstr, mesg_wrong_2,
 				 DATEFMT_DESC(conf.input_datefmt));
 			status_mesg(mesg_wrong_1, outstr);
+			mem_free(outstr);
 			wgetch(win[KEY].p);
 		}
 	}
@@ -785,7 +786,6 @@ void ui_day_item_repeat(void)
 
 cleanup:
 	mem_free(msg_asktype);
-	mem_free(outstr);
 }
 
 /* Free the current cut item, if any. */
-- 
cgit v1.2.3-70-g09d2