Hopefully fix coverity issues
[supertux.git] / src / lisp / lexer.cpp
index 99ffa81..166d655 100644 (file)
@@ -30,6 +30,7 @@ Lexer::Lexer(std::istream& newstream) :
   bufend(),
   bufpos(),
   c(),
+  token_string(),
   token_length()
 {
   // trigger a refill of the buffer
@@ -45,7 +46,7 @@ Lexer::~Lexer()
 void
 Lexer::nextChar()
 {
-  if(bufpos >= bufend) {
+  if(bufpos >= bufend || (bufpos == NULL && bufend == NULL) /* Initial refill trigger */) {
     if(eof) {
       c = EOF;
       return;
@@ -65,6 +66,10 @@ Lexer::nextChar()
       ++bufend;
     }
   }
+
+  if(bufpos == NULL)
+    return;
+
   c = *bufpos++;
   if(c == '\n')
     ++linenumber;