diff --git a/src/svalue.c b/src/svalue.c index be0e092c051642e1f59704882a6fc80ebe2107d7..2e34b6270f2b17a3936eae4392b185ec3357d2d8 100644 --- a/src/svalue.c +++ b/src/svalue.c @@ -661,6 +661,40 @@ void describe_svalue(struct svalue *s,int indent,struct processing *p) { switch(s->u.string->str[i]) { + case '\n': + my_putchar('\\'); + my_putchar('n'); + break; + + case '\t': + my_putchar('\\'); + my_putchar('t'); + break; + + case '\b': + my_putchar('\\'); + my_putchar('b'); + break; + + case '\r': + my_putchar('\\'); + my_putchar('r'); + break; + + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + my_putchar('\\'); + my_putchar('0'); + my_putchar('0'); + my_putchar('0' + s->u.string->str[i]); + break; + case '"': case '\\': my_putchar('\\');