Hi all, I am writing a program that parses out the .git/index file. I am reading the git index header documentation, but I seem to be getting jibberish data. https://github.com/git/git/blob/master/Documentation/technical/index-format.txt The first 12 bytes are the signature, version and entries. Great so far. Afterwards, I try to read the extension signature, which the documentation says: "4-byte extension signature. If the first byte is 'A'..'Z' the extension is optional and can be ignored.". I am getting jibberish. Is this expected? Then, the extension size comes back as 35560000 (after ntohl()). That seems extremely high. My structure is as follows: struct _indexfile_hdr { unsigned char sig[4]; /* Always "DIRC" */ uint32_t version; /* Version Number */ uint32_t entries; /* Number of extensions */ unsigned char extsig[4]; /* Extension signature */ uint32_t extsize; /* Size of the extension */ uint8_t sha[8]; /* SHA1 of index before checksum */ } __packed; Am I doing something wrong? Is there some offset or padding that I missed? Thanks, -- Farhan Khan PGP Fingerprint: B28D 2726 E2BC A97E 3854 5ABE 9A9F 00BC D525 16EE