diff options
| author | Daniel Stenberg <daniel@haxx.se> | 2000-11-17 10:08:39 +0000 | 
|---|---|---|
| committer | Daniel Stenberg <daniel@haxx.se> | 2000-11-17 10:08:39 +0000 | 
| commit | 7f77a061dd9b40637e44cef6332c4855c2336e55 (patch) | |
| tree | d4bc1e4d71520e8b2eebaca5bc31931865713533 | |
| parent | 2d16e1a7777e4ecddbb2c8943dee381adc6a5397 (diff) | |
allows \r \n \t \v in config file parameters within quotes
| -rw-r--r-- | src/main.c | 25 | 
1 files changed, 23 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c index 5c257ecc8..2d1de3df1 100644 --- a/src/main.c +++ b/src/main.c @@ -88,6 +88,8 @@  #include "../lib/memdebug.h"  #endif +#define DEBUG_CONFIG +  #ifndef __cplusplus        /* (rabe) */  typedef char bool;  #endif                     /* (rabe) */ @@ -1046,12 +1048,31 @@ static int parseconfig(char *filename,          ptr=param;          while(*line && (*line != '\"')) {            if(*line == '\\') { +            char out;              line++; -            if(!*line) { + +            /* default is to output the letter after the backslah */ +            switch(out = *line) { +            case '\0': +              continue; /* this'll break out of the loop */ +            case 't': +              out='\t'; +              break; +            case 'n': +              out='\n'; +              break; +            case 'r': +              out='\r'; +              break; +            case 'v': +              out='\v';                break;              } +            *ptr++=out; +            line++;            } -          *ptr++=*line++; +          else +            *ptr++=*line++;          }          *ptr=0; /* always zero terminate */  | 
