Index: uspace/lib/cpp/include/internal/streambufs.hpp
===================================================================
--- uspace/lib/cpp/include/internal/streambufs.hpp	(revision 7258487d88a37537635d8cb06700923def821255)
+++ uspace/lib/cpp/include/internal/streambufs.hpp	(revision 2cf1da7eff995a5555a0cc73fa03fbf13436e55a)
@@ -82,12 +82,14 @@
                     auto c = fgetc(in_);
                     putchar(c); // TODO: Temporary source of feedback.
-                    auto ic = traits_type::to_int_type(c);
-                    if (traits_type::eq_int_type(ic, traits_type::eof()))
+                    if (c == traits_type::eof())
                         break;
 
-                    buffer_[i] = c;
+                    buffer_[i] = static_cast<char_type>(c);
 
-                    if (c == '\n')
+                    if (buffer_[i] == '\n')
+                    {
+                        ++i;
                         break;
+                    }
                 }
 
@@ -103,7 +105,6 @@
             int_type uflow() override
             {
-                // TODO: what is the difference between uflow and underflow?
                 auto res = underflow();
-                ++*input_next_;
+                ++input_next_;
 
                 return res;
