~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to libdrizzle/query.c

  • Committer: Lee Bieber
  • Date: 2011-03-01 22:41:46 UTC
  • mfrom: (2212.1.2 build)
  • Revision ID: kalebral@gmail.com-20110301224146-a4ulmgytz1lzb7ia
Merge Olaf - Use std::list
Merge Andrew - 724451: drizzle_escape_string doesn't handle blob data correctly

Show diffs side-by-side

added added

removed removed

Lines of Context:
352
352
{
353
353
  size_t to_size= 0;
354
354
  char newchar;
 
355
  const char *end;
355
356
 
356
 
  while (from_size > 0)
 
357
  for (end= from + from_size; from < end; from++)
357
358
  {
358
359
    newchar= 0;
359
360
    /* All multi-byte UTF8 characters have the high bit set for all bytes. */
374
375
        newchar= 'Z';
375
376
        break;
376
377
      case '\\':
 
378
        newchar= '\\';
 
379
        break;
377
380
      case '\'':
 
381
        newchar= '\'';
 
382
        break;
378
383
      case '"':
379
 
        *to++= '\\';
380
 
        to_size++;
 
384
        newchar= '"';
 
385
        break;
381
386
      default:
382
387
        break;
383
388
      }
384
389
    }
385
 
    if (newchar != 0)
 
390
    if (newchar != '\0')
386
391
    {
387
392
      *to++= '\\';
388
393
      *to++= newchar;
389
394
      to_size++;
390
395
    }
391
 
    else 
392
 
      *to++= *from++;
393
 
    from_size--;
 
396
    else
 
397
    { 
 
398
      *to++= *from;
 
399
    }
394
400
    to_size++;
395
401
  }
396
402