summaryrefslogtreecommitdiff
path: root/sql/sql_string.h
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2009-09-08 00:50:10 +0400
committerSergey Petrunya <psergey@askmonty.org>2009-09-08 00:50:10 +0400
commitdac8bb7f8a095e39f24b414b9ceb0cf463863acc (patch)
tree84935c21dc958724ae7dcbeeca0c0f08986fc430 /sql/sql_string.h
parent52c86aa1fe02dc204b0a194b163662d2f5508b96 (diff)
parent8aea2dcca750e2e271ead60216965f327e989673 (diff)
downloadmariadb-git-dac8bb7f8a095e39f24b414b9ceb0cf463863acc.tar.gz
* Finished Monty and Jani's merge * Some InnoDB tests still fail (because it's old xtradb code run against newer testsuite). They are expected to go after mergning with the latest xtradb.
Diffstat (limited to 'sql/sql_string.h')
-rw-r--r--sql/sql_string.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/sql/sql_string.h b/sql/sql_string.h
index 9088863ac4d..9e22f7b6a27 100644
--- a/sql/sql_string.h
+++ b/sql/sql_string.h
@@ -40,6 +40,9 @@ uint32 well_formed_copy_nchars(CHARSET_INFO *to_cs,
size_t my_copy_with_hex_escaping(CHARSET_INFO *cs,
char *dst, size_t dstlen,
const char *src, size_t srclen);
+uint convert_to_printable(char *to, size_t to_len,
+ const char *from, size_t from_len,
+ CHARSET_INFO *from_cs, size_t nbytes= 0);
class String
{
@@ -371,6 +374,19 @@ public:
{
return (s->alloced && Ptr >= s->Ptr && Ptr < s->Ptr + s->str_length);
}
+ bool is_ascii() const
+ {
+ if (length() == 0)
+ return TRUE;
+ if (charset()->mbminlen > 1)
+ return FALSE;
+ for (const char *c= ptr(), *end= c + length(); c < end; c++)
+ {
+ if (!my_isascii(*c))
+ return FALSE;
+ }
+ return TRUE;
+ }
};
static inline bool check_if_only_end_space(CHARSET_INFO *cs, char *str,