4 |
|
// Available at www.BruceEckel.com. |
5 |
|
//{-g++295} |
6 |
|
|
7 |
< |
#include "StreamTokenizer.hpp" |
7 |
> |
#include "utils/StreamTokenizer.hpp" |
8 |
|
using namespace std; |
9 |
|
|
10 |
|
string StreamTokenizer::next() { |
14 |
|
ii(result, result.begin()); |
15 |
|
while(isDelimiter(*p) && p != end) |
16 |
|
p++; |
17 |
< |
while (!isDelimiter(*p) && p != end) |
17 |
> |
|
18 |
> |
// There is a bug here, if p is equal to end at this point, dereference it is a undefine behavior |
19 |
> |
//while (!isDelimiter(*p) && p != end) |
20 |
> |
while (p != end && !isDelimiter(*p)) |
21 |
|
*ii++ = *p++; |
22 |
|
} |
23 |
|
return result; |