- removed st_abort() from lisp reader, client code should check the return value...
[supertux.git] / src / lispreader.cpp
index 4dc6d4f..9074633 100644 (file)
 static char token_string[MAX_TOKEN_LENGTH + 1] = "";
 static int token_length = 0;
 
-static lisp_object_t end_marker = { LISP_TYPE_EOF , {0,0}  };
-static lisp_object_t error_object = { LISP_TYPE_PARSE_ERROR , {0,0}  };
-static lisp_object_t close_paren_marker = { LISP_TYPE_PARSE_ERROR , {0,0}  };
-static lisp_object_t dot_marker = { LISP_TYPE_PARSE_ERROR , {0,0} };
+static lisp_object_t end_marker = { LISP_TYPE_EOF, {{0, 0}} };
+static lisp_object_t error_object = { LISP_TYPE_PARSE_ERROR , {{0,0}}  };
+static lisp_object_t close_paren_marker = { LISP_TYPE_PARSE_ERROR , {{0,0}}  };
+static lisp_object_t dot_marker = { LISP_TYPE_PARSE_ERROR , {{0,0}} };
 
 static void
 _token_clear (void)
@@ -1317,18 +1317,6 @@ lisp_object_t* lisp_read_from_file(const std::string& filename)
   if (has_suffix(filename.c_str(), ".gz"))
     {
       return lisp_read_from_gzfile(filename.c_str());
-#if 0
-      lisp_object_t* obj = 0;
-      gzFile in = gzopen(filename, "r");
-
-      if (in)
-        {
-          lisp_stream_init_gzfile(&stream, in);
-          obj = lisp_read(&stream);
-          gzclose(in);
-        }
-        return obj;
-#endif
     }
   else
     {
@@ -1339,11 +1327,8 @@ lisp_object_t* lisp_read_from_file(const std::string& filename)
         {
           lisp_stream_init_file(&stream, in);
           obj = lisp_read(&stream);
+          fclose(in);
         }
-      else
-        std::cerr << "LispReader: File not found: " << filename << endl;
-
-      fclose(in);
 
       return obj;
     }