MCPcopy Create free account
hub / github.com/GaijinEntertainment/daScript / resolve_backslashes

Function resolve_backslashes

modules/dasSQLITE/sqlite/shell.c:20669–20711  ·  view source on GitHub ↗

** Do C-language style dequoting. ** ** \a -> alarm ** \b -> backspace ** \t -> tab ** \n -> newline ** \v -> vertical tab ** \f -> form feed ** \r -> carriage return ** \s -> space ** \" -> " ** \' -> ' ** \\ -> backslash ** \NNN -> ascii character NNN in octal */

Source from the content-addressed store, hash-verified

20667** \NNN -> ascii character NNN in octal
20668*/
20669static void resolve_backslashes(char *z){
20670 int i, j;
20671 char c;
20672 while( *z && *z!='\\' ) z++;
20673 for(i=j=0; (c = z[i])!=0; i++, j++){
20674 if( c=='\\' && z[i+1]!=0 ){
20675 c = z[++i];
20676 if( c=='a' ){
20677 c = '\a';
20678 }else if( c=='b' ){
20679 c = '\b';
20680 }else if( c=='t' ){
20681 c = '\t';
20682 }else if( c=='n' ){
20683 c = '\n';
20684 }else if( c=='v' ){
20685 c = '\v';
20686 }else if( c=='f' ){
20687 c = '\f';
20688 }else if( c=='r' ){
20689 c = '\r';
20690 }else if( c=='"' ){
20691 c = '"';
20692 }else if( c=='\'' ){
20693 c = '\'';
20694 }else if( c=='\\' ){
20695 c = '\\';
20696 }else if( c>='0' && c<='7' ){
20697 c -= '0';
20698 if( z[i+1]>='0' && z[i+1]<='7' ){
20699 i++;
20700 c = (c<<3) + z[i] - '0';
20701 if( z[i+1]>='0' && z[i+1]<='7' ){
20702 i++;
20703 c = (c<<3) + z[i] - '0';
20704 }
20705 }
20706 }
20707 }
20708 z[j] = c;
20709 }
20710 if( j<i ) z[j] = 0;
20711}
20712
20713/*
20714** Interpret zArg as either an integer or a boolean value. Return 1 or 0

Callers 2

do_meta_commandFunction · 0.85
runOneSqlLineFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected