MEDIUM: stats: escape some strings in the CSV dump

Some strings which must be dumped in the CSV output can contain one of
the following chars : <,>, <">, or CR/LF. This patch escapes these
strings if the case is encountered.
diff --git a/src/dumpstats.c b/src/dumpstats.c
index 3f5c069..31bc0ba 100644
--- a/src/dumpstats.c
+++ b/src/dumpstats.c
@@ -3329,6 +3329,7 @@
 			chunk_appendf(&trash, "<td class=ac>-</td></tr>\n");
 	}
 	else { /* CSV mode */
+		struct chunk *out = get_trash_chunk();
 		static char *srv_hlt_st[SRV_STATS_STATE_COUNT] = {
 			[SRV_STATS_STATE_DOWN]			= "DOWN,",
 			[SRV_STATS_STATE_DOWN_AGENT]		= "DOWN (agent),",
@@ -3426,7 +3427,7 @@
 
 		if (sv->check.state & CHK_ST_ENABLED) {
 			/* check_status */
-			chunk_appendf(&trash, "%s,", get_check_status_info(sv->check.status));
+			chunk_appendf(&trash, "%s,", csv_enc(get_check_status_info(sv->check.status), 1, out));
 
 			/* check_code */
 			if (sv->check.status >= HCHK_STATUS_L57DATA)
@@ -3471,8 +3472,8 @@
 		chunk_appendf(&trash, "%d,", srv_lastsession(sv));
 
 		/* capture of last check and agent statuses */
-		chunk_appendf(&trash, "%s,", ((sv->check.state & (CHK_ST_ENABLED|CHK_ST_PAUSED)) == CHK_ST_ENABLED) ? cstr(sv->check.desc) : "");
-		chunk_appendf(&trash, "%s,", ((sv->agent.state & (CHK_ST_ENABLED|CHK_ST_PAUSED)) == CHK_ST_ENABLED) ? cstr(sv->agent.desc) : "");
+		chunk_appendf(&trash, "%s,", ((sv->check.state & (CHK_ST_ENABLED|CHK_ST_PAUSED)) == CHK_ST_ENABLED) ? csv_enc(cstr(sv->check.desc), 1, out) : "");
+		chunk_appendf(&trash, "%s,", ((sv->agent.state & (CHK_ST_ENABLED|CHK_ST_PAUSED)) == CHK_ST_ENABLED) ? csv_enc(cstr(sv->agent.desc), 1, out) : "");
 
 		/* qtime, ctime, rtime, ttime, */
 		chunk_appendf(&trash, "%u,%u,%u,%u,",