diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2019-11-25 00:30:28 -0500 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2019-11-25 00:43:36 -0500 |
| commit | 29e438fd1f77a13c3a3f128434198ac024d3e195 (patch) | |
| tree | 73235c0b283adfdf0e621b7d0ed306f420d3d748 /lib/std/dynamic_library.zig | |
| parent | 15d415e10b81a66fa3b887fb2a0c20bbcd614d94 (diff) | |
| download | zig-29e438fd1f77a13c3a3f128434198ac024d3e195.tar.gz zig-29e438fd1f77a13c3a3f128434198ac024d3e195.zip | |
more sentinel-terminated pointers std lib integration
See #3767
Diffstat (limited to 'lib/std/dynamic_library.zig')
| -rw-r--r-- | lib/std/dynamic_library.zig | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/std/dynamic_library.zig b/lib/std/dynamic_library.zig index 0e8792ca90..a4da9a8b03 100644 --- a/lib/std/dynamic_library.zig +++ b/lib/std/dynamic_library.zig @@ -140,7 +140,7 @@ pub const LinuxDynLib = struct { }; pub const ElfLib = struct { - strings: [*]u8, + strings: [*:0]u8, syms: [*]elf.Sym, hashtab: [*]os.Elf_Symndx, versym: ?[*]u16, @@ -175,7 +175,7 @@ pub const ElfLib = struct { const dynv = maybe_dynv orelse return error.MissingDynamicLinkingInformation; if (base == maxInt(usize)) return error.BaseNotFound; - var maybe_strings: ?[*]u8 = null; + var maybe_strings: ?[*:0]u8 = null; var maybe_syms: ?[*]elf.Sym = null; var maybe_hashtab: ?[*]os.Elf_Symndx = null; var maybe_versym: ?[*]u16 = null; @@ -186,7 +186,7 @@ pub const ElfLib = struct { while (dynv[i] != 0) : (i += 2) { const p = base + dynv[i + 1]; switch (dynv[i]) { - elf.DT_STRTAB => maybe_strings = @intToPtr([*]u8, p), + elf.DT_STRTAB => maybe_strings = @intToPtr([*:0]u8, p), elf.DT_SYMTAB => maybe_syms = @intToPtr([*]elf.Sym, p), elf.DT_HASH => maybe_hashtab = @intToPtr([*]os.Elf_Symndx, p), elf.DT_VERSYM => maybe_versym = @intToPtr([*]u16, p), @@ -230,7 +230,7 @@ pub const ElfLib = struct { } }; -fn checkver(def_arg: *elf.Verdef, vsym_arg: i32, vername: []const u8, strings: [*]u8) bool { +fn checkver(def_arg: *elf.Verdef, vsym_arg: i32, vername: []const u8, strings: [*:0]u8) bool { var def = def_arg; const vsym = @bitCast(u32, vsym_arg) & 0x7fff; while (true) { |
