diff options
author | unknown <bar@bar.mysql.r18.ru> | 2002-12-19 09:38:30 +0400 |
---|---|---|
committer | unknown <bar@bar.mysql.r18.ru> | 2002-12-19 09:38:30 +0400 |
commit | 0913ccb79d422602d2e818ee55fbc0d36e7c4aec (patch) | |
tree | 5e26916ad93e0bf67386803553249931ae30823b /sql/time.cc | |
parent | 52ed8cb8cbf0ca6966aeb56f0b1ec8d1ecf5bd93 (diff) | |
download | mariadb-git-0913ccb79d422602d2e818ee55fbc0d36e7c4aec.tar.gz |
less use of system_charset_info
Diffstat (limited to 'sql/time.cc')
-rw-r--r-- | sql/time.cc | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/sql/time.cc b/sql/time.cc index 282075df9eb..76e67115a92 100644 --- a/sql/time.cc +++ b/sql/time.cc @@ -268,13 +268,13 @@ void find_date(string pos,uint *vek,uint flag) DBUG_PRINT("enter",("pos: '%s' flag: %d",pos,flag)); bzero((char*) vek,sizeof(int)*4); - while (*pos && !my_isdigit(system_charset_info,*pos)) + while (*pos && !my_isdigit(my_charset_latin1,*pos)) pos++; length=(uint) strlen(pos); for (uint i=0 ; i< 3; i++) { start=pos; value=0; - while (my_isdigit(system_charset_info,pos[0]) && + while (my_isdigit(my_charset_latin1,pos[0]) && ((pos-start) < 2 || ((pos-start) < 4 && length >= 8 && !(flag & 3)))) { @@ -282,8 +282,8 @@ void find_date(string pos,uint *vek,uint flag) pos++; } vek[flag & 3]=value; flag>>=2; - while (*pos && (my_ispunct(system_charset_info,*pos) || - my_isspace(system_charset_info,*pos))) + while (*pos && (my_ispunct(my_charset_latin1,*pos) || + my_isspace(my_charset_latin1,*pos))) pos++; } DBUG_PRINT("exit",("year: %d month: %d day: %d",vek[0],vek[1],vek[2])); @@ -452,7 +452,7 @@ str_to_TIME(const char *str, uint length, TIME *l_time,bool fuzzy_date) DBUG_PRINT("enter",("str: %.*s",length,str)); // Skip garbage - for (; str != end && !my_isdigit(system_charset_info, *str) ; str++) ; + for (; str != end && !my_isdigit(my_charset_latin1, *str) ; str++) ; if (str == end) DBUG_RETURN(TIMESTAMP_NONE); /* @@ -460,15 +460,15 @@ str_to_TIME(const char *str, uint length, TIME *l_time,bool fuzzy_date) If length= 8 or >= 14 then year is of format YYYY. (YYYY-MM-DD, YYYYMMDD, YYYYYMMDDHHMMSS) */ - for (pos=str; pos != end && my_isdigit(system_charset_info,*pos) ; pos++) ; + for (pos=str; pos != end && my_isdigit(my_charset_latin1,*pos) ; pos++) ; digits= (uint) (pos-str); year_length= (digits == 4 || digits == 8 || digits >= 14) ? 4 : 2; field_length=year_length-1; not_zero_date= 0; - for (i=0 ; i < 6 && str != end && my_isdigit(system_charset_info,*str) ; i++) + for (i=0 ; i < 6 && str != end && my_isdigit(my_charset_latin1,*str) ; i++) { uint tmp_value=(uint) (uchar) (*str++ - '0'); - while (str != end && my_isdigit(system_charset_info,str[0]) && + while (str != end && my_isdigit(my_charset_latin1,str[0]) && field_length--) { tmp_value=tmp_value*10 + (uint) (uchar) (*str - '0'); @@ -481,11 +481,11 @@ str_to_TIME(const char *str, uint length, TIME *l_time,bool fuzzy_date) else if ( i != 5 ) // Skip inter-field delimiters { while (str != end && - (my_ispunct(system_charset_info,*str) || - my_isspace(system_charset_info,*str))) + (my_ispunct(my_charset_latin1,*str) || + my_isspace(my_charset_latin1,*str))) { // Only allow space between days and hours - if (my_isspace(system_charset_info,*str) && i != 2) + if (my_isspace(my_charset_latin1,*str) && i != 2) DBUG_RETURN(TIMESTAMP_NONE); str++; } @@ -494,12 +494,12 @@ str_to_TIME(const char *str, uint length, TIME *l_time,bool fuzzy_date) } /* Handle second fractions */ if (i == 6 && (uint) (end-str) >= 2 && *str == '.' && - my_isdigit(system_charset_info,str[1])) + my_isdigit(my_charset_latin1,str[1])) { str++; uint tmp_value=(uint) (uchar) (*str - '0'); field_length=3; - while (str++ != end && my_isdigit(system_charset_info,str[0]) && + while (str++ != end && my_isdigit(my_charset_latin1,str[0]) && field_length--) tmp_value=tmp_value*10 + (uint) (uchar) (*str - '0'); date[6]=tmp_value; @@ -522,7 +522,7 @@ str_to_TIME(const char *str, uint length, TIME *l_time,bool fuzzy_date) { for (; str != end ; str++) { - if (!my_isspace(system_charset_info, *str)) + if (!my_isspace(my_charset_latin1, *str)) { not_zero_date= 1; // Give warning break; @@ -537,7 +537,7 @@ str_to_TIME(const char *str, uint length, TIME *l_time,bool fuzzy_date) { for (; str != end ; str++) { - if (!my_isspace(system_charset_info,*str)) + if (!my_isspace(my_charset_latin1,*str)) { current_thd->cuted_fields++; break; @@ -599,7 +599,7 @@ bool str_to_time(const char *str,uint length,TIME *l_time) l_time->neg=0; for (; str != end && - !my_isdigit(system_charset_info,*str) && *str != '-' ; str++) + !my_isdigit(my_charset_latin1,*str) && *str != '-' ; str++) length--; if (str != end && *str == '-') { @@ -618,7 +618,7 @@ bool str_to_time(const char *str,uint length,TIME *l_time) } /* Not a timestamp. Try to get this as a DAYS_TO_SECOND string */ - for (value=0; str != end && my_isdigit(system_charset_info,*str) ; str++) + for (value=0; str != end && my_isdigit(my_charset_latin1,*str) ; str++) value=value*10L + (long) (*str - '0'); if (*str == ' ') @@ -630,7 +630,7 @@ bool str_to_time(const char *str,uint length,TIME *l_time) LINT_INIT(state); found_days=found_hours=0; if ((uint) (end-str) > 1 && (*str == ' ' && - my_isdigit(system_charset_info,str[1]))) + my_isdigit(my_charset_latin1,str[1]))) { // days ! date[0]=value; state=1; // Assume next is hours @@ -638,7 +638,7 @@ bool str_to_time(const char *str,uint length,TIME *l_time) str++; // Skip space; } else if ((end-str) > 1 && *str == ':' && - my_isdigit(system_charset_info,str[1])) + my_isdigit(my_charset_latin1,str[1])) { date[0]=0; // Assume we found hours date[1]=value; @@ -660,11 +660,11 @@ bool str_to_time(const char *str,uint length,TIME *l_time) /* Read hours, minutes and seconds */ for (;;) { - for (value=0; str != end && my_isdigit(system_charset_info,*str) ; str++) + for (value=0; str != end && my_isdigit(my_charset_latin1,*str) ; str++) value=value*10L + (long) (*str - '0'); date[state++]=value; if (state == 4 || (end-str) < 2 || *str != ':' || - !my_isdigit(system_charset_info,str[1])) + !my_isdigit(my_charset_latin1,str[1])) break; str++; // Skip ':' } @@ -684,12 +684,12 @@ bool str_to_time(const char *str,uint length,TIME *l_time) fractional: /* Get fractional second part */ - if ((end-str) >= 2 && *str == '.' && my_isdigit(system_charset_info,str[1])) + if ((end-str) >= 2 && *str == '.' && my_isdigit(my_charset_latin1,str[1])) { uint field_length=3; str++; value=(uint) (uchar) (*str - '0'); while (++str != end && - my_isdigit(system_charset_info,str[0]) && + my_isdigit(my_charset_latin1,str[0]) && field_length--) value=value*10 + (uint) (uchar) (*str - '0'); date[4]=value; @@ -715,7 +715,7 @@ bool str_to_time(const char *str,uint length,TIME *l_time) { do { - if (!my_isspace(system_charset_info,*str)) + if (!my_isspace(my_charset_latin1,*str)) { current_thd->cuted_fields++; break; |