projects
/
supertux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Hopefully fix coverity issues
[supertux.git]
/
src
/
lisp
/
lexer.cpp
diff --git
a/src/lisp/lexer.cpp
b/src/lisp/lexer.cpp
index
99ffa81
..
166d655
100644
(file)
--- a/
src/lisp/lexer.cpp
+++ b/
src/lisp/lexer.cpp
@@
-30,6
+30,7
@@
Lexer::Lexer(std::istream& newstream) :
bufend(),
bufpos(),
c(),
bufend(),
bufpos(),
c(),
+ token_string(),
token_length()
{
// trigger a refill of the buffer
token_length()
{
// trigger a refill of the buffer
@@
-45,7
+46,7
@@
Lexer::~Lexer()
void
Lexer::nextChar()
{
void
Lexer::nextChar()
{
- if(bufpos >= bufend) {
+ if(bufpos >= bufend
|| (bufpos == NULL && bufend == NULL) /* Initial refill trigger */
) {
if(eof) {
c = EOF;
return;
if(eof) {
c = EOF;
return;
@@
-65,6
+66,10
@@
Lexer::nextChar()
++bufend;
}
}
++bufend;
}
}
+
+ if(bufpos == NULL)
+ return;
+
c = *bufpos++;
if(c == '\n')
++linenumber;
c = *bufpos++;
if(c == '\n')
++linenumber;