Lines Matching refs:pos
58 unsigned char * pos = Data + sizeof(short); // position data pointer after length field
65 if (memcmp(pos, IptcSig1, sizeof(IptcSig1)-1) != 0) goto badsig;
66 pos += sizeof(IptcSig1); // move data pointer to the next field
68 if (memcmp(pos, IptcSig2, sizeof(IptcSig2)-1) != 0) goto badsig;
69 pos += sizeof(IptcSig2)-1; // move data pointer to the next field
71 if (memcmp(pos, IptcSig3, sizeof(IptcSig3)) != 0){
78 pos += sizeof(IptcSig3); // move data pointer to the next field
80 if (pos >= maxpos) goto corrupt;
85 headerLen = *pos++; // get header length and move data pointer to the next field
86 pos += headerLen + 1 - (headerLen % 2); // move data pointer to the next field (Header is padded to even length, counting the length byte)
88 if (pos+4 >= maxpos) goto corrupt;
91 //length = (*pos << 24) | (*(pos+1) << 16) | (*(pos+2) << 8) | *(pos+3);
93 pos += 4; // move data pointer to the next field
98 while (pos < (Data + itemlen-5)) {
104 if (pos+5 > maxpos) goto corrupt;
106 signature = (*pos << 8) + (*(pos+1));
107 pos += 2;
113 type = *pos++;
114 length = (*pos << 8) + (*(pos+1));
115 pos += 2; // Skip tag length
117 if (pos+length > maxpos) goto corrupt;
121 printf("Record vers. : %d\n", (*pos << 8) + (*(pos+1)));
161 printf("%s %*.*s\n", TempBuf, length, length, pos);
163 pos += length;