3 int dds_unquote(char*p){
6 /* do nothing if there is no quote */
7 while ( *p && *p != '\\' ) p++ ;
8 if ( *p == '\0' ) return 1 ;
15 case '\\' : *q++ = '\\' , p+=2 ; continue ;
16 case 't' : *q++ = '\t' , p+=2 ; continue ;
17 case 'n' : *q++ = '\n' , p+=2 ; continue ;
18 case 'f' : *q++ = '\f' , p+=2 ; continue ;
19 case 'b' : *q++ = '\b' , p+=2 ; continue ;
20 case 'r' : *q++ = '\r' , p+=2 ; continue ;
21 case '?' : *q++ = '\177' , p+=2 ; continue ;
23 if ( '0' <= c && c <= '9' ){
26 sscanf(p+1,"%03o%n",&x,&n);
27 *q++ = x ; p+=n+1 ; continue ;
30 * Here we should never be, but if, we just proceed.
40 int main(int argc,char*argv[]){
41 if ( argc < 2 ) return 0 ;