~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_string.cc

  • Committer: Mark Atwood
  • Date: 2011-08-12 04:08:33 UTC
  • mfrom: (2385.2.17 refactor5)
  • Revision ID: me@mark.atwood.name-20110812040833-u6j85nc6ahuc0dtz
mergeĀ lp:~olafvdspek/drizzle/refactor5

Show diffs side-by-side

added added

removed removed

Lines of Context:
184
184
  str_length=str.str_length;
185
185
  memmove(Ptr, str.Ptr, str_length);            // May be overlapping
186
186
  Ptr[str_length]=0;
187
 
  str_charset=str.str_charset;
 
187
  str_charset= str.str_charset;
188
188
}
189
189
 
190
 
void String::copy(const std::string& arg, const charset_info_st * const cs)     // Allocate new string
 
190
void String::copy(const std::string& arg, const charset_info_st* cs) // Allocate new string
191
191
{
192
192
  alloc(arg.size());
193
 
 
194
 
  if ((str_length= arg.size()))
195
 
    memcpy(Ptr, arg.c_str(), arg.size());
196
 
 
 
193
  str_length= arg.size();
 
194
  memcpy(Ptr, arg.c_str(), arg.size());
197
195
  Ptr[arg.size()]= 0;
198
196
  str_charset= cs;
199
197
}
315
313
  append(s, arg_length);
316
314
}
317
315
 
318
 
size_t String::numchars()
 
316
size_t String::numchars() const
319
317
{
320
318
  return str_charset->cset->numchars(str_charset, Ptr, Ptr+str_length);
321
319
}
322
320
 
323
 
int String::charpos(int i,size_t offset)
 
321
int String::charpos(int i,size_t offset) const
324
322
{
325
 
  if (i <= 0)
326
 
    return i;
327
 
  return str_charset->cset->charpos(str_charset,Ptr+offset,Ptr+str_length,i);
 
323
  return i <= 0 ? i : str_charset->cset->charpos(str_charset, Ptr + offset, Ptr + str_length, i);
328
324
}
329
325
 
330
 
int String::strstr(const String &s,size_t offset)
 
326
int String::strstr(const String &s, size_t offset)
331
327
{
332
328
  if (s.length() + offset <= str_length)
333
329
  {