summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2016-02-06 13:56:37 +0100
committerSergei Golubchik <serg@mariadb.org>2016-02-06 17:57:37 +0100
commit9e4e4121b8b441d3b5b56edece0a05bb16caac3c (patch)
treeccc1e6d110153755200c0386cd606c8ef4295680 /mysys
parent41021c0254207c914e271fc4dfc910093dd4a92d (diff)
downloadmariadb-git-9e4e4121b8b441d3b5b56edece0a05bb16caac3c.tar.gz
unit test for dynstr_append_os_quoted()
and a trivial cleanup to avoid manually-specified lengths
Diffstat (limited to 'mysys')
-rw-r--r--mysys/string.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/mysys/string.c b/mysys/string.c
index d9791341c60..06fd2c3d014 100644
--- a/mysys/string.c
+++ b/mysys/string.c
@@ -142,16 +142,14 @@ my_bool dynstr_trunc(DYNAMIC_STRING *str, size_t n)
my_bool dynstr_append_os_quoted(DYNAMIC_STRING *str, const char *append, ...)
{
#ifdef __WIN__
- const char *quote_str= "\"";
- const uint quote_len= 1;
+ LEX_CSTRING quote= { C_STRING_WITH_LEN("\"") };
#else
- const char *quote_str= "\'";
- const uint quote_len= 1;
+ LEX_CSTRING quote= { C_STRING_WITH_LEN("\'") };
#endif /* __WIN__ */
my_bool ret= TRUE;
va_list dirty_text;
- ret&= dynstr_append_mem(str, quote_str, quote_len); /* Leading quote */
+ ret&= dynstr_append_mem(str, quote.str, quote.length); /* Leading quote */
va_start(dirty_text, append);
while (append != NullS)
{
@@ -159,18 +157,18 @@ my_bool dynstr_append_os_quoted(DYNAMIC_STRING *str, const char *append, ...)
const char *next_pos= cur_pos;
/* Search for quote in each string and replace with escaped quote */
- while(*(next_pos= strcend(cur_pos, quote_str[0])) != '\0')
+ while(*(next_pos= strcend(cur_pos, quote.str[0])) != '\0')
{
ret&= dynstr_append_mem(str, cur_pos, (uint) (next_pos - cur_pos));
- ret&= dynstr_append_mem(str ,"\\", 1);
- ret&= dynstr_append_mem(str, quote_str, quote_len);
+ ret&= dynstr_append_mem(str, STRING_WITH_LEN("\\"));
+ ret&= dynstr_append_mem(str, quote.str, quote.length);
cur_pos= next_pos + 1;
}
ret&= dynstr_append_mem(str, cur_pos, (uint) (next_pos - cur_pos));
append= va_arg(dirty_text, char *);
}
va_end(dirty_text);
- ret&= dynstr_append_mem(str, quote_str, quote_len); /* Trailing quote */
+ ret&= dynstr_append_mem(str, quote.str, quote.length); /* Trailing quote */
return ret;
}