summaryrefslogtreecommitdiff
path: root/sql/sql_class.cc
diff options
context:
space:
mode:
authorunknown <gkodinov/kgeorge@magare.gmz>2007-11-23 12:26:19 +0200
committerunknown <gkodinov/kgeorge@magare.gmz>2007-11-23 12:26:19 +0200
commitc00bfc3bee2c7851a43d026783fcc931e42cb754 (patch)
tree03241a63158659c5a63a0034f2f6c4a7a6b6c605 /sql/sql_class.cc
parenta44d52b8f43dd040220021a6e6b625449c89cf67 (diff)
parenta197c4e95ddd69cf9ebe3a6b2796a68f420c009a (diff)
downloadmariadb-git-c00bfc3bee2c7851a43d026783fcc931e42cb754.tar.gz
Merge magare.gmz:/home/kgeorge/mysql/work/mysql-5.0-opt
into magare.gmz:/home/kgeorge/mysql/work/merge-5.1-opt mysql-test/r/gis.result: Auto merged mysql-test/r/type_bit.result: Auto merged mysql-test/r/type_blob.result: Auto merged mysql-test/t/gis.test: Auto merged mysql-test/t/type_bit.test: Auto merged mysql-test/t/type_blob.test: Auto merged sql/item.h: Auto merged sql/item_subselect.cc: Auto merged sql/opt_range.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_string.cc: Auto merged tests/mysql_client_test.c: Auto merged mysql-test/r/subselect.result: null merge. resolve latete. mysql-test/t/subselect.test: merge 5.0-opt -> 5.1-opt sql/key.cc: merge 5.0-opt -> 5.1-opt sql/sql_class.h: merge 5.0-opt -> 5.1-opt sql/sql_insert.cc: merge 5.0-opt -> 5.1-opt sql/sql_table.cc: merge 5.0-opt -> 5.1-opt
Diffstat (limited to 'sql/sql_class.cc')
-rw-r--r--sql/sql_class.cc17
1 files changed, 10 insertions, 7 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index bf8413e8627..1ee490fbcc8 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -1579,16 +1579,18 @@ select_export::prepare(List<Item> &list, SELECT_LEX_UNIT *u)
}
}
field_term_length=exchange->field_term->length();
- field_term_char= field_term_length ? (*exchange->field_term)[0] : INT_MAX;
+ field_term_char= field_term_length ?
+ (int) (uchar) (*exchange->field_term)[0] : INT_MAX;
if (!exchange->line_term->length())
exchange->line_term=exchange->field_term; // Use this if it exists
- field_sep_char= (exchange->enclosed->length() ? (*exchange->enclosed)[0] :
- field_term_char);
- escape_char= (exchange->escaped->length() ? (*exchange->escaped)[0] : -1);
+ field_sep_char= (exchange->enclosed->length() ?
+ (int) (uchar) (*exchange->enclosed)[0] : field_term_char);
+ escape_char= (exchange->escaped->length() ?
+ (int) (uchar) (*exchange->escaped)[0] : -1);
is_ambiguous_field_sep= test(strchr(ESCAPE_CHARS, field_sep_char));
is_unsafe_field_sep= test(strchr(NUMERIC_CHARS, field_sep_char));
line_sep_char= (exchange->line_term->length() ?
- (*exchange->line_term)[0] : INT_MAX);
+ (int) (uchar) (*exchange->line_term)[0] : INT_MAX);
if (!field_term_length)
exchange->opt_enclosed=0;
if (!exchange->enclosed->length())
@@ -1745,10 +1747,11 @@ bool select_export::send_data(List<Item> &items)
Don't escape field_term_char by doubling - doubling is only
valid for ENCLOSED BY characters:
*/
- (enclosed || !is_ambiguous_field_term || *pos != field_term_char))
+ (enclosed || !is_ambiguous_field_term ||
+ (int) (uchar) *pos != field_term_char))
{
char tmp_buff[2];
- tmp_buff[0]= ((int) *pos == field_sep_char &&
+ tmp_buff[0]= ((int) (uchar) *pos == field_sep_char &&
is_ambiguous_field_sep) ?
field_sep_char : escape_char;
tmp_buff[1]= *pos ? *pos : '0';