Author: jsalmon3
Date: 2007-07-18 17:56:18 +0200 (Wed, 18 Jul 2007)
New Revision: 2760

Modified:
   branches/pingus_sdl/src/lisp/lexer.cpp
   branches/pingus_sdl/src/sexpr_file_writer.cpp
Log:
Fixed write_bool, escape/unescape " and \



Modified: branches/pingus_sdl/src/lisp/lexer.cpp
===================================================================
--- branches/pingus_sdl/src/lisp/lexer.cpp      2007-07-18 15:23:23 UTC (rev 
2759)
+++ branches/pingus_sdl/src/lisp/lexer.cpp      2007-07-18 15:56:18 UTC (rev 
2760)
@@ -119,6 +119,12 @@
                 case 't':
                   *c = '\t';
                   break;
+                case '\"':
+                  *c = '\"';
+                  break;
+                case '\\':
+                  *c = '\\';
+                  break;
               }
             }
             if(token_length < MAX_TOKEN_LENGTH)

Modified: branches/pingus_sdl/src/sexpr_file_writer.cpp
===================================================================
--- branches/pingus_sdl/src/sexpr_file_writer.cpp       2007-07-18 15:23:23 UTC 
(rev 2759)
+++ branches/pingus_sdl/src/sexpr_file_writer.cpp       2007-07-18 15:56:18 UTC 
(rev 2760)
@@ -70,7 +70,7 @@
 void
 SExprFileWriter::write_bool(const char* name, bool value)
 {
-  (*out) << "(" << name << " " << value << ")\n";
+  (*out) << "(" << name << " " << (value ? "#t" : "#f") << ")\n";
 }
 
 void
@@ -82,7 +82,8 @@
 
        std::map<std::string, std::string> replacements;
        
-       replacements["\""] = "&quot;";
+       replacements["\""] = "\\\"";
+       replacements["\\"] = "\\\\";
 
        for (std::map<std::string, std::string>::iterator i = 
replacements.begin();
                i != replacements.end(); i++)



_______________________________________________
pingus-cvs mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/pingus-cvs

Reply via email to