# Migrating from std.io.bufferedReader

**URL:** <https://ziggit.dev/t/migrating-from-std-io-bufferedreader/11707>\
**Category:** Help\
**Tags:** zig-0-15-1\
**Created:** [August 27, 2025, 7:04pm UTC](https://ziggit.dev/t/migrating-from-std-io-bufferedreader/11707 "2025-08-27T19:04:03Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![kkflt](https://ziggit.dev/user_avatar/ziggit.dev/kkflt/32/6172_2.png) [@kkflt](https://ziggit.dev/u/kkflt)\
**Post date:** [August 27, 2025, 7:04pm UTC](https://ziggit.dev/t/migrating-from-std-io-bufferedreader/11707/1 "2025-08-27T19:04:03Z")

</div>

In zig 0.14 I did:

```zig
var br = std.io.bufferedReader(socket.reader());
var reader = br.reader();

...

var reply = try reader.readUntilDelimiterOrEof(&msg_buf, '\n') orelse return;

```

I wanted to update to 0.15, but I can’t find how to migrate this to the new API

---

<div class="post-metadata">

**Author:** ![dimdin](https://ziggit.dev/user_avatar/ziggit.dev/dimdin/32/1457_2.png) [@dimdin](https://ziggit.dev/u/dimdin)\
**Post date:** [August 28, 2025, 8:31am UTC](https://ziggit.dev/t/migrating-from-std-io-bufferedreader/11707/2 "2025-08-28T08:31:28Z")

</div>

Hello @kkflt  
Welcome to ziggit 🙂

From the socket `stream`:

```zig
    var msg_buf: [4096]u8 = undefined;
    var stream_reader = stream.reader(&msg_buf);
    const reader = stream_reader.interface();
    var reply = reader.takeDelimiterExclusive('\n') catch |err| switch (err) {
        error.EndOfStream => return,
        else => return err,
    }

```
