diff --git a/src/nix-log2xml/log2xml.cc b/src/nix-log2xml/log2xml.cc index 9be3978a92..8a3cbc8c42 100644 --- a/src/nix-log2xml/log2xml.cc +++ b/src/nix-log2xml/log2xml.cc @@ -34,6 +34,8 @@ struct Decoder void pushChar(char c); void finishLine(); + + void decodeFile(istream & st); }; @@ -158,16 +160,26 @@ void Decoder::finishLine() } +void Decoder::decodeFile(istream & st) +{ + int c; + + cout << "" << endl; + + while ((c = st.get()) != EOF) { + pushChar(c); + } + + if (line.size()) finishLine(); + + while (level--) cout << "" << endl; + + cout << "" << endl; +} + + int main(int argc, char * * argv) { Decoder dec; - int c; - - cout << "" << endl; - - while ((c = getchar()) != EOF) { - dec.pushChar(c); - } - - cout << "" << endl; + dec.decodeFile(cin); }