Heyall! I need a bit of help switching to 0.15.1. What's the new way to do stdin.readUntilDelimiter?
My old code was:
const std = @import("std");
const Config = @import("../lib/config.zig");
const Clap = @import("../lib/clap.zig");
const stdout_handle = std.io.getStdOut();
const stdout = stdout_handle.writer();
const stdin = std.io.getStdIn().reader();
pub fn run(config: *Config, name: []const u8) !void {
try stdout.print("RPC URL for {s}? ", .{name});
try config.file.seekFromEnd(0);
var line_buf: [2048]u8 = undefined;
const url = try stdin.readUntilDelimiter(&line_buf, '\n');
const line = try std.fmt.allocPrint(config.allocator, "{s}|{s}\n", .{ name, url });
defer config.allocator.free(line);
try config.file.writeAll(line);
}
My new code so far:
const std = @import("std");
const Config = @import("../lib/config.zig");
const Clap = @import("../lib/clap.zig");
var stdout_buffer: [1024]u8 = undefined;
var stdin_buffer: [1024]u8 = undefined;
var stdout_writer = std.fs.File.stdout().writer(&stdout_buffer);
const stdout = &stdout_writer.interface;
const stdin = std.fs.File.stdin().reader(&stdin_buffer);
pub fn run(config: *Config, name: []const u8) !void {
try stdout.print("RPC URL for {s}? ", .{name});
try stdout.flush();
try config.file.seekFromEnd(0);
var line_buf: [2048]u8 = undefined;
const url = try stdin.readUntilDelimiter(&line_buf, '\n'); // <-- what do I do here?
const line = try std.fmt.allocPrint(config.allocator, "{s}|{s}\n", .{ name, url });
defer config.allocator.free(line);
try config.file.writeAll(line);
}