diff --git a/src/gmio_core/internal/stringstream.c b/src/gmio_core/internal/stringstream.c index 2b39332..acf4519 100644 --- a/src/gmio_core/internal/stringstream.c +++ b/src/gmio_core/internal/stringstream.c @@ -17,6 +17,16 @@ #include "helper_stream.h" +struct gmio_stringstream gmio_stringstream( + const struct gmio_stream stream, const struct gmio_string strbuff) +{ + struct gmio_stringstream sstream = {0}; + sstream.stream = stream; + sstream.strbuff = strbuff; + gmio_stringstream_init(&sstream); + return sstream; +} + void gmio_stringstream_init(struct gmio_stringstream *sstream) { /* Trick: declaring the buffer exhausted will actually trigger the first diff --git a/src/gmio_core/internal/stringstream.h b/src/gmio_core/internal/stringstream.h index 60d5c8c..ff8c4ec 100644 --- a/src/gmio_core/internal/stringstream.h +++ b/src/gmio_core/internal/stringstream.h @@ -38,7 +38,15 @@ struct gmio_stringstream void* cookie, const struct gmio_string* strbuff); }; -/*! Initializes iterator */ +/*! Returns an initialized gmio_stringstream object */ +struct gmio_stringstream gmio_stringstream( + const struct gmio_stream stream, + const struct gmio_string strbuff); + +/*! Initializes position indicator + * + * TODO: rename to gmio_stringstream_initpos() + */ void gmio_stringstream_init(struct gmio_stringstream* sstream); /*! Returns the char where the iterator is currently pointing at */