+ shdr = (struct seama_entity_header *)(first_block + offset);
+ if (shdr->magic != htonl(SEAMA_MAGIC)) {
+ fprintf(stderr, "No SEAMA header found\n");
+ return -1;
+ } else if (!ntohl(shdr->size)) {
+ fprintf(stderr, "Seama entity with empty image\n");
+ exit(1);
+ }
+
+ data_offset = offset + sizeof(struct seama_entity_header) + ntohs(shdr->metasize);
+ data_size = mtdsize - data_offset;
+ if (data_size > ntohl(shdr->size))
+ data_size = ntohl(shdr->size);
+ if (seama_fix_md5(shdr, fd, data_offset, data_size))