// SPDX-FileCopyrightText: © 2026 Jeffrey C. Ollie // SPDX-License-Identifier: MIT const std = @import("std"); const OSMPBF = @import("proto/OSMPBF.pb.zig"); pub fn dupe(alloc: std.mem.Allocator, block: *const OSMPBF.PrimitiveBlock, index_: ?u32) !?[]const u8 { const string = try lookup(block, index_) orelse return null; return try alloc.dupe(u8, string); } pub fn lookup(block: *const OSMPBF.PrimitiveBlock, index_: ?u32) !?[]const u8 { const index = index_ orelse return null; const stringtable = (block.stringtable orelse return null).s.items; if (index >= stringtable.len) return error.StringIndexOutOfRange; return stringtable[@intCast(index)]; }