MCPcopy Create free account
hub / github.com/Meituan-Dianping/SQLAdvisor / read_escaped_string

Function read_escaped_string

sql/parse_file.cc:387–429  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

385*/
386
387my_bool
388read_escaped_string(const char *ptr, const char *eol, LEX_STRING *str)
389{
390 char *write_pos= str->str;
391
392 for (; ptr < eol; ptr++, write_pos++)
393 {
394 char c= *ptr;
395 if (c == '\\')
396 {
397 ptr++;
398 if (ptr >= eol)
399 return TRUE;
400 /*
401 Should be in sync with write_escaped_string() and
402 parse_quoted_escaped_string()
403 */
404 switch(*ptr) {
405 case '\\':
406 *write_pos= '\\';
407 break;
408 case 'n':
409 *write_pos= '\n';
410 break;
411 case '0':
412 *write_pos= '\0';
413 break;
414 case 'z':
415 *write_pos= 26;
416 break;
417 case '\'':
418 *write_pos= '\'';
419 break;
420 default:
421 return TRUE;
422 }
423 }
424 else
425 *write_pos= c;
426 }
427 str->str[str->length= write_pos-str->str]= '\0'; // just for safety
428 return FALSE;
429}
430
431
432/**

Callers 2

parse_escaped_stringFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected