summaryrefslogtreecommitdiff
path: root/src/tafreader.cpp
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2007-11-30 19:24:40 +0000
committerMike Buland <eichlan@xagasoft.com>2007-11-30 19:24:40 +0000
commit0ff3fdfaa52ee4b71632f201d6bfabb0ffbc36d7 (patch)
tree14951a51950dffbe094b6cdd3fd56d239b1079f2 /src/tafreader.cpp
parent4d0a7466320e54f45f413efef09ef8e6ad21bb3e (diff)
downloadlibbu++-0ff3fdfaa52ee4b71632f201d6bfabb0ffbc36d7.tar.gz
libbu++-0ff3fdfaa52ee4b71632f201d6bfabb0ffbc36d7.tar.bz2
libbu++-0ff3fdfaa52ee4b71632f201d6bfabb0ffbc36d7.tar.xz
libbu++-0ff3fdfaa52ee4b71632f201d6bfabb0ffbc36d7.zip
Fixed the overshoot in the Bu::TafReader, it was reading the lookahead character
from the stream even when it should have known it was at the end, and then it was reading an extra character after that anyway :-P It is now fixed, and the stream is positioned at the character immediately after the closing } of the root taf group, great for things like the svtools.
Diffstat (limited to 'src/tafreader.cpp')
-rw-r--r--src/tafreader.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/tafreader.cpp b/src/tafreader.cpp
index aaac8d7..7054581 100644
--- a/src/tafreader.cpp
+++ b/src/tafreader.cpp
@@ -40,7 +40,7 @@ Bu::TafGroup *Bu::TafReader::readGroup()
40 if( c != '}' ) 40 if( c != '}' )
41 throw TafException("Expected '}'"); 41 throw TafException("Expected '}'");
42 42
43 next(); 43 //next();
44 44
45 return pGroup; 45 return pGroup;
46} 46}
@@ -184,7 +184,17 @@ bool Bu::TafReader::isws()
184 184
185void Bu::TafReader::next() 185void Bu::TafReader::next()
186{ 186{
187 c = la; 187 if( c == '}' )
188 sIn.read( &la, 1 ); 188 {
189 sIn.read( &c, 1 );
190 if( c != '}' )
191 sIn.read( &la, 1 );
192 }
193 else
194 {
195 c = la;
196 if( c != '}' )
197 sIn.read( &la, 1 );
198 }
189} 199}
190 200