public SectionHeader(BinaryInputBuffer in) throws java.io.IOException {
  startFP=in.getCurrent();
  NameArray=new byte[8];
  in.read(NameArray);
  StringBuilder nBuilder=new StringBuilder();
  for (int i=0; i < 8; i++) {
    if ((NameArray[i] & 0xFF) > 32 && (NameArray[i] & 0xFF) < 128)     nBuilder.append((char)(NameArray[i] & 0xFF));
  }
  name=nBuilder.toString();
  VirtualSize=in.readDWORD();
  VirtualAddress=in.readDWORD();
  SizeOfRawData=in.readDWORD();
  PointerToRawData=in.readDWORD();
  PointerToRelocations=in.readDWORD();
  PointerToLinenumbers=in.readDWORD();
  NumberOfRelocations=in.readWORD();
  NumberOfLinenumbers=in.readWORD();
  Characteristics=in.readDWORD();
}

public SectionHeader ( BinaryInputBuffer in ) throws java . io . IOException { startFP = in . getCurrent ( ) ; NameArray = new byte [ 8 ] ; in . read ( NameArray ) ; StringBuilder nBuilder = new StringBuilder ( ) ; for ( int i = 0 ; i < 8 ; i ++ ) { if ( ( NameArray [ i ] & 0xFF ) > 32 && ( NameArray [ i ] & 0xFF ) < 128 ) nBuilder . append ( ( char ) ( NameArray [ i ] & 0xFF ) ) ; } name = nBuilder . toString ( ) ; VirtualSize = in . readDWORD ( ) ; VirtualAddress = in . readDWORD ( ) ; SizeOfRawData = in . readDWORD ( ) ; PointerToRawData = in . readDWORD ( ) ; PointerToRelocations = in . readDWORD ( ) ; PointerToLinenumbers = in . readDWORD ( ) ; NumberOfRelocations = in . readWORD ( ) ; NumberOfLinenumbers = in . readWORD ( ) ; Characteristics = in . readDWORD ( ) ; }
parses a section header from an input stream
