/// Return the `e_shstrndx` field of the header. Handles extended values.
///
/// Returns `Err` for invalid values (including if the index is 0).
Return the `e_shstrndx` field of the header. Handles extended values.
Returns `Err` for invalid values (including if the index is 0).
Return the ` e_shstrndx ` field of the header . Handles extended values . Returns ` Err ` for invalid values ( including if the index is 0 ) .
fn shstrndx<'data>(&self, endian: Self::Endian, data: Bytes<'data>) -> read::Result<u32> {
        let e_shstrndx = self.e_shstrndx(endian);
        let index = if e_shstrndx != elf::SHN_XINDEX {
            e_shstrndx.into()
        } else if let Some(section_0) = self.section_0(endian, data)? {
            section_0.sh_link(endian)
        } else {
            // Section 0 must exist if we're trying to read e_shstrndx.
            return Err(Error("Missing ELF section headers for e_shstrndx overflow"));
        };
        if index == 0 {
            return Err(Error("Missing ELF e_shstrndx"));
        }
        Ok(index)
    }
fn shstrndx < ' data > ( & self , endian : Self :: Endian , data : Bytes < ' data > ) -> read :: Result < u32 > { let e_shstrndx = self . e_shstrndx ( endian ) ; let index = if e_shstrndx != elf :: SHN_XINDEX { e_shstrndx . into ( ) } else if let Some ( section_0 ) = self . section_0 ( endian , data ) ? { section_0 . sh_link ( endian ) } else { // Section 0 must exist if we're trying to read e_shstrndx. return Err ( Error ( " " ) ) ; } ; if index == 0 { return Err ( Error ( " " ) ) ; } Ok ( index ) }
Return the `e_shstrndx` field of the header.
Return the ` e_shstrndx ` field of the header .
&self
endian
Self::Endian
data
Bytes<'data>