diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/tafreader.cpp | 12 | ||||
-rw-r--r-- | src/tafreader.h | 1 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/tafreader.cpp b/src/tafreader.cpp index 4f0e1ec..29796f1 100644 --- a/src/tafreader.cpp +++ b/src/tafreader.cpp | |||
@@ -13,7 +13,8 @@ using namespace Bu; | |||
13 | 13 | ||
14 | Bu::TafReader::TafReader( Bu::Stream &sIn ) : | 14 | Bu::TafReader::TafReader( Bu::Stream &sIn ) : |
15 | c( 0 ), | 15 | c( 0 ), |
16 | sIn( sIn ) | 16 | sIn( sIn ), |
17 | iLine( 1 ), iCol( 1 ) | ||
17 | { | 18 | { |
18 | next(); next(); | 19 | next(); next(); |
19 | } | 20 | } |
@@ -62,7 +63,7 @@ void Bu::TafReader::groupContent( Bu::TafGroup *pGroup ) | |||
62 | else if( c == '/' && la == '/' ) | 63 | else if( c == '/' && la == '/' ) |
63 | pGroup->addChild( readComment( true ) ); | 64 | pGroup->addChild( readComment( true ) ); |
64 | else if( c == ':' ) | 65 | else if( c == ':' ) |
65 | throw TafException("Encountered stray ':' in taf stream."); | 66 | throw TafException("Encountered stray ':' in taf stream at %d:%d.", iLine, iCol ); |
66 | else | 67 | else |
67 | pGroup->addChild( readProperty() ); | 68 | pGroup->addChild( readProperty() ); |
68 | } | 69 | } |
@@ -187,6 +188,13 @@ bool Bu::TafReader::isws() | |||
187 | 188 | ||
188 | void Bu::TafReader::next() | 189 | void Bu::TafReader::next() |
189 | { | 190 | { |
191 | if( c == '\n' ) | ||
192 | { | ||
193 | iLine++; | ||
194 | iCol = 1; | ||
195 | } | ||
196 | else | ||
197 | iCol++; | ||
190 | if( c == '}' ) | 198 | if( c == '}' ) |
191 | { | 199 | { |
192 | sIn.read( &c, 1 ); | 200 | sIn.read( &c, 1 ); |
diff --git a/src/tafreader.h b/src/tafreader.h index 3668296..ce67a5f 100644 --- a/src/tafreader.h +++ b/src/tafreader.h | |||
@@ -37,6 +37,7 @@ namespace Bu | |||
37 | Bu::FString readStr(); | 37 | Bu::FString readStr(); |
38 | char c, la; | 38 | char c, la; |
39 | Bu::Stream &sIn; | 39 | Bu::Stream &sIn; |
40 | int iLine, iCol; | ||
40 | }; | 41 | }; |
41 | } | 42 | } |
42 | 43 | ||