[Prev][Next][Index]

unparse on \0.




Unparse () does not print once it encounters a \0. The following patch posted in
1995 sage-bugs did not work for me.

Rahul
--------------------------------------------------------------------------------

> Looks like I've fixed this particular bug about a month ago. Try the following:

> Find the following code in lib/newsrc/unparse.c:

>          if (strncmp(&(str[i]),"CHARVAL", strlen("CHARVAL"))== 0)       /* %CHARVAL : Char Value */
>            {
>              switch(NODE_CV(ll)){
>                     case '\n':BufPutChar('\\'); BufPutChar('n'); break;
>                     case '\t':BufPutChar('\\'); BufPutChar('t'); break;

> (This is around line 2043 in the version we have)
> and add the following cases to the switch statement:

>              case '\0':BufPutChar('\\'); BufPutChar('0'); break;
>              case '\'':BufPutChar('\\'); BufPutChar('\''); break;
>              case '\"':BufPutChar('\\'); BufPutChar('\"'); break;
>              case '\\':BufPutChar('\\'); BufPutChar('\\'); break;

>               --Beata