From dc08ed27f5d8a09a0ea2db6eaa7b84c0e4086c7e Mon Sep 17 00:00:00 2001
From: Danny Auble <da@llnl.gov>
Date: Fri, 26 Feb 2010 21:20:21 +0000
Subject: [PATCH] replaced fix_double_quotes with global
 slurm_add_slash_to_quotes

---
 .../accounting_storage/common/common_as.c     | 37 -------------------
 .../accounting_storage/common/common_as.h     |  2 -
 .../mysql/accounting_storage_mysql.c          |  6 +--
 .../accounting_storage/mysql/as_mysql_acct.c  |  2 +-
 .../accounting_storage/mysql/as_mysql_assoc.c |  2 +-
 .../mysql/as_mysql_cluster.c                  |  6 +--
 .../accounting_storage/mysql/as_mysql_qos.c   |  2 +-
 .../accounting_storage/mysql/as_mysql_user.c  |  2 +-
 .../accounting_storage/mysql/as_mysql_wckey.c |  2 +-
 9 files changed, 11 insertions(+), 50 deletions(-)

diff --git a/src/plugins/accounting_storage/common/common_as.c b/src/plugins/accounting_storage/common/common_as.c
index 3206c78390a..e14701325e2 100644
--- a/src/plugins/accounting_storage/common/common_as.c
+++ b/src/plugins/accounting_storage/common/common_as.c
@@ -57,43 +57,6 @@ extern char *wckey_hour_table;
 extern char *wckey_day_table;
 extern char *wckey_month_table;
 
-
-/* here to add \\ to all \" in a string */
-extern char *fix_double_quotes(char *str)
-{
-	int i=0, start=0;
-	char *fixed = NULL;
-
-	if(!str)
-		return NULL;
-
-	while(str[i]) {
-		if((str[i] == '"')) {
-			char *tmp = xstrndup(str+start, i-start);
-			xstrfmtcat(fixed, "%s\\\"", tmp);
-			xfree(tmp);
-			start = i+1;
-		}
-
-		if((str[i] == '\'')) {
-			char *tmp = xstrndup(str+start, i-start);
-			xstrfmtcat(fixed, "%s\\\'", tmp);
-			xfree(tmp);
-			start = i+1;
-		}
-
-		i++;
-	}
-
-	if((i-start) > 0) {
-		char *tmp = xstrndup(str+start, i-start);
-		xstrcat(fixed, tmp);
-		xfree(tmp);
-	}
-
-	return fixed;
-}
-
 /*
  * send_accounting_update - send update to controller of cluster
  * IN update_list: updates to send
diff --git a/src/plugins/accounting_storage/common/common_as.h b/src/plugins/accounting_storage/common/common_as.h
index 372d88c3893..58f2b3c8d91 100644
--- a/src/plugins/accounting_storage/common/common_as.h
+++ b/src/plugins/accounting_storage/common/common_as.h
@@ -45,8 +45,6 @@
 
 #define THIS_FILE ((strrchr(__FILE__, '/') ?: __FILE__ - 1) + 1)
 
-extern char *fix_double_quotes(char *str);
-
 extern int send_accounting_update(List update_list, char *cluster, char *host,
 				  uint16_t port, uint16_t rpc_version);
 
diff --git a/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c b/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c
index ced159c1c96..66ecc3c9900 100644
--- a/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c
+++ b/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c
@@ -1260,7 +1260,7 @@ extern int modify_common(mysql_conn_t *mysql_conn,
 {
 	char *query = NULL;
 	int rc = SLURM_SUCCESS;
-	char *tmp_cond_char = fix_double_quotes(cond_char);
+	char *tmp_cond_char = slurm_add_slash_to_quotes(cond_char);
 	char *tmp_vals = NULL;
 	bool cluster_centric = true;
 
@@ -1271,7 +1271,7 @@ extern int modify_common(mysql_conn_t *mysql_conn,
 		cluster_centric = false;
 
 	if(vals[1])
-		tmp_vals = fix_double_quotes(vals+2);
+		tmp_vals = slurm_add_slash_to_quotes(vals+2);
 
 	if(cluster_centric) {
 		xassert(cluster_name);
@@ -1334,7 +1334,7 @@ extern int remove_common(mysql_conn_t *mysql_conn,
 	MYSQL_ROW row;
 	time_t day_old = now - DELETE_SEC_BACK;
 	bool has_jobs = false;
-	char *tmp_name_char = fix_double_quotes(name_char);
+	char *tmp_name_char = slurm_add_slash_to_quotes(name_char);
 	bool cluster_centric = true;
 
 	/* figure out which tables we need to append the cluster name to */
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_acct.c b/src/plugins/accounting_storage/mysql/as_mysql_acct.c
index 3e52511f45e..01ad2944af8 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_acct.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_acct.c
@@ -182,7 +182,7 @@ extern int as_mysql_add_accts(mysql_conn_t *mysql_conn, uint32_t uid,
 		}
 
 		/* we always have a ', ' as the first 2 chars */
-		tmp_extra = fix_double_quotes(extra+2);
+		tmp_extra = slurm_add_slash_to_quotes(extra+2);
 
 		if(txn_query)
 			xstrfmtcat(txn_query,
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_assoc.c b/src/plugins/accounting_storage/mysql/as_mysql_assoc.c
index 3ed74f4728e..1c81465de63 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_assoc.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_assoc.c
@@ -2259,7 +2259,7 @@ extern int as_mysql_add_assocs(mysql_conn_t *mysql_conn, uint32_t uid,
 		}
 
 		/* we always have a ', ' as the first 2 chars */
-		tmp_extra = fix_double_quotes(extra+2);
+		tmp_extra = slurm_add_slash_to_quotes(extra+2);
 
 		if(txn_query)
 			xstrfmtcat(txn_query,
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_cluster.c b/src/plugins/accounting_storage/mysql/as_mysql_cluster.c
index 942d9942193..566653e5be8 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_cluster.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_cluster.c
@@ -144,7 +144,7 @@ extern int as_mysql_add_clusters(mysql_conn_t *mysql_conn, uint32_t uid,
 		}
 
 		/* we always have a ', ' as the first 2 chars */
-		tmp_extra = fix_double_quotes(extra+2);
+		tmp_extra = slurm_add_slash_to_quotes(extra+2);
 
 		xstrfmtcat(query,
 			   "insert into %s "
@@ -940,9 +940,9 @@ extern int as_mysql_node_down(mysql_conn_t *mysql_conn,
 		cpus = node_ptr->cpus;
 
 	if (reason)
-		my_reason = fix_double_quotes(reason);
+		my_reason = slurm_add_slash_to_quotes(reason);
 	else
-		my_reason = fix_double_quotes(node_ptr->reason);
+		my_reason = slurm_add_slash_to_quotes(node_ptr->reason);
 
 	debug2("inserting %s(%s) with %u cpus",
 	       node_ptr->name, mysql_conn->cluster_name, cpus);
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_qos.c b/src/plugins/accounting_storage/mysql/as_mysql_qos.c
index 32168cd9505..f786a97daf7 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_qos.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_qos.c
@@ -354,7 +354,7 @@ extern int as_mysql_add_qos(mysql_conn_t *mysql_conn, uint32_t uid, List qos_lis
 		}
 
 		/* we always have a ', ' as the first 2 chars */
-		tmp_extra = fix_double_quotes(extra+2);
+		tmp_extra = slurm_add_slash_to_quotes(extra+2);
 
 		xstrfmtcat(query,
 			   "insert into %s "
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_user.c b/src/plugins/accounting_storage/mysql/as_mysql_user.c
index e938fc837a1..3dbf4142750 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_user.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_user.c
@@ -224,7 +224,7 @@ extern int as_mysql_add_users(mysql_conn_t *mysql_conn, uint32_t uid,
 			list_remove(itr);
 
 		/* we always have a ', ' as the first 2 chars */
-		tmp_extra = fix_double_quotes(extra+2);
+		tmp_extra = slurm_add_slash_to_quotes(extra+2);
 
 		if(txn_query)
 			xstrfmtcat(txn_query,
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_wckey.c b/src/plugins/accounting_storage/mysql/as_mysql_wckey.c
index 6dc27709a88..b934c12d855 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_wckey.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_wckey.c
@@ -317,7 +317,7 @@ extern int as_mysql_add_wckeys(mysql_conn_t *mysql_conn, uint32_t uid,
 		}
 
 		/* we always have a ', ' as the first 2 chars */
-		tmp_extra = fix_double_quotes(extra+2);
+		tmp_extra = slurm_add_slash_to_quotes(extra+2);
 
 		xstrfmtcat(query,
 			   "insert into %s "
-- 
GitLab