~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to mysys/charset.cc

Merged in Eric's whitespace cleanup.

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
 
23
23
/*
24
24
  The code below implements this functionality:
25
 
  
 
25
 
26
26
    - Initializing charset related structures
27
27
    - Loading dynamic charsets
28
 
    - Searching for a proper CHARSET_INFO 
 
28
    - Searching for a proper CHARSET_INFO
29
29
      using charset name, collation name or collation ID
30
30
    - Setting server default character set
31
31
*/
44
44
       cs < all_charsets+array_elements(all_charsets)-1 ;
45
45
       cs++)
46
46
  {
47
 
    if ( cs[0] && cs[0]->name && 
 
47
    if ( cs[0] && cs[0]->name &&
48
48
         !my_strcasecmp(&my_charset_utf8_general_ci, cs[0]->name, name))
49
49
      return cs[0]->number;
50
 
  }  
 
50
  }
51
51
  return 0;
52
52
}
53
53
 
60
60
 
61
61
  if (!(cs->state_map= (unsigned char*) my_once_alloc(256, MYF(MY_WME))))
62
62
    return 1;
63
 
    
 
63
 
64
64
  if (!(cs->ident_map= (unsigned char*) my_once_alloc(256, MYF(MY_WME))))
65
65
    return 1;
66
66
 
67
67
  state_map= cs->state_map;
68
68
  ident_map= cs->ident_map;
69
 
  
 
69
 
70
70
  /* Fill state_map with states to get a faster parser */
71
71
  for (i=0; i < 256 ; i++)
72
72
  {
177
177
    {
178
178
      memset(&all_charsets, 0, sizeof(all_charsets));
179
179
      init_compiled_charsets(myflags);
180
 
      
 
180
 
181
181
      /* Copy compiled charsets */
182
182
      for (cs=all_charsets;
183
183
           cs < all_charsets+array_elements(all_charsets)-1 ;
190
190
              *cs= NULL;
191
191
        }
192
192
      }
193
 
      
 
193
 
194
194
      strcpy(get_charsets_dir(fname), MY_CHARSET_INDEX);
195
195
      charset_initialized=1;
196
196
    }
217
217
{
218
218
  CHARSET_INFO **cs;
219
219
  init_available_charsets(MYF(0));
220
 
  
 
220
 
221
221
  for (cs= all_charsets;
222
222
       cs < all_charsets+array_elements(all_charsets)-1 ;
223
223
       cs++)
225
225
    if ( cs[0] && cs[0]->csname && (cs[0]->state & cs_flags) &&
226
226
         !my_strcasecmp(&my_charset_utf8_general_ci, cs[0]->csname, charset_name))
227
227
      return cs[0]->number;
228
 
  }  
 
228
  }
229
229
  return 0;
230
230
}
231
231
 
238
238
  cs=all_charsets[charset_number];
239
239
  if (cs && (cs->number == charset_number) && cs->name )
240
240
    return (char*) cs->name;
241
 
  
 
241
 
242
242
  return (char*) "?";   /* this mimics find_type() */
243
243
}
244
244
 
279
279
    return default_charset_info;
280
280
 
281
281
  (void) init_available_charsets(MYF(0));       /* If it isn't initialized */
282
 
  
 
282
 
283
283
  if (!cs_number || cs_number >= array_elements(all_charsets)-1)
284
284
    return NULL;
285
 
  
 
285
 
286
286
  cs= get_internal_charset(cs_number);
287
287
 
288
288
  if (!cs && (flags & MY_WME))