mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
- Create optional with ~ instead of ?. return io::EOF?; becomes return io::EOF~.
- Deprecated use of `?` to create optional.
This commit is contained in:
@@ -181,17 +181,17 @@ fn ulong? elf_module_image_base(String path) @local
|
||||
defer (void)file.close();
|
||||
char[4] buffer;
|
||||
io::read_all(&file, &buffer)!;
|
||||
if (buffer != { 0x7f, 'E', 'L', 'F'}) return backtrace::IMAGE_NOT_FOUND?;
|
||||
if (buffer != { 0x7f, 'E', 'L', 'F'}) return backtrace::IMAGE_NOT_FOUND~;
|
||||
bool is_64 = file.read_byte()! == 2;
|
||||
bool is_little_endian = file.read_byte()! == 1;
|
||||
// Actually, not supported.
|
||||
if (!is_little_endian) return backtrace::IMAGE_NOT_FOUND?;
|
||||
if (!is_little_endian) return backtrace::IMAGE_NOT_FOUND~;
|
||||
file.seek(0)!;
|
||||
if (is_64)
|
||||
{
|
||||
Elf64_Ehdr file_header;
|
||||
io::read_any(&file, &file_header)!;
|
||||
if (file_header.e_ehsize != Elf64_Ehdr.sizeof) return backtrace::IMAGE_NOT_FOUND?;
|
||||
if (file_header.e_ehsize != Elf64_Ehdr.sizeof) return backtrace::IMAGE_NOT_FOUND~;
|
||||
for (isz i = 0; i < file_header.e_phnum; i++)
|
||||
{
|
||||
Elf64_Phdr header;
|
||||
@@ -203,7 +203,7 @@ fn ulong? elf_module_image_base(String path) @local
|
||||
}
|
||||
Elf32_Ehdr file_header;
|
||||
io::read_any(&file, &file_header)!;
|
||||
if (file_header.e_ehsize != Elf32_Ehdr.sizeof) return backtrace::IMAGE_NOT_FOUND?;
|
||||
if (file_header.e_ehsize != Elf32_Ehdr.sizeof) return backtrace::IMAGE_NOT_FOUND~;
|
||||
for (isz i = 0; i < file_header.e_phnum; i++)
|
||||
{
|
||||
Elf32_Phdr header;
|
||||
|
||||
Reference in New Issue
Block a user