- added read_string_vector
[supertux.git] / src / lispreader.h
index 28d1a20..2438ba3 100644 (file)
@@ -25,6 +25,7 @@
 #define __LISPREADER_H__
 
 #include <stdio.h>
+#include <zlib.h>
 #include <string>
 #include <vector>
 
@@ -106,6 +107,7 @@ struct _lisp_object_t
       } v;
   };
 
+lisp_stream_t* lisp_stream_init_gzfile (lisp_stream_t *stream, gzFile file);
 lisp_stream_t* lisp_stream_init_file (lisp_stream_t *stream, FILE *file);
 lisp_stream_t* lisp_stream_init_string (lisp_stream_t *stream, char *buf);
 lisp_stream_t* lisp_stream_init_any (lisp_stream_t *stream, void *data,
@@ -113,6 +115,7 @@ lisp_stream_t* lisp_stream_init_any (lisp_stream_t *stream, void *data,
                                      void (*unget_char) (char c, void *data));
 
 lisp_object_t* lisp_read (lisp_stream_t *in);
+lisp_object_t* lisp_read_from_file(const std::string& filename);
 void lisp_free (lisp_object_t *obj);
 
 lisp_object_t* lisp_read_from_string (const char *buf);
@@ -168,6 +171,7 @@ class LispReader
 
     bool read_int_vector (const char* name, std::vector<int>* vec);
     bool read_char_vector (const char* name, std::vector<char>* vec);
+    bool read_string_vector (const char* name, std::vector<std::string>* vec);
     bool read_string (const char* name, std::string* str);
     bool read_int (const char* name, int* i);
     bool read_float (const char* name, float* f);