Home | History | Annotate | Download | only in jhead

Lines Matching refs:Components

590         int Tag, Format, Components;
598 Components = Get32u(DirEntry+4);
606 if ((unsigned)Components > 0x10000){
607 ErrNonfatal("Illegal number of components %d for tag %04x", Components, Tag);
611 ByteCount = Components * BytesPerFormat[Format];
703 // Extract useful components of tag
1173 long components,
1183 if (format == FMT_STRING && components == -1) {
1184 components = strlen((char*)value) + 1; // account for null terminator
1185 if (components & 1) ++components; // no odd lengths
1186 } else if (format == FMT_SSHORT && components == -1) {
1188 components = 1;
1190 if (format == FMT_UNDEFINED && components == -1) {
1194 components = sizeof(ExifAsciiPrefix) +
1196 if (components & 1) ++components; // no odd lengths
1199 Put32u(Buffer+(*DirIndex) + 4, components); // Components
1200 componentsPosition = Buffer+(*DirIndex) + 4; // components # can change for lists
1201 printf("# components: %ld", components);
1205 if (components <= 4) {
1210 strncpy(Buffer+(*DataWriteIndex), (char*)value, components);
1211 (*DataWriteIndex) += components;
1217 if (components <= 4) {
1218 memcpy(Buffer+(*DirIndex) + 8, (char*)value, components);
1222 memcpy(Buffer+(*DataWriteIndex), (char*)value, components);
1223 (*DataWriteIndex) += components;
1234 // (components == -1) Need to handle lists with unknown length too
1235 for (i = 0; ((i < components) || (components == -1)) && curElement != NULL; i++) {
1268 } else if ((components == -1) && ((format == FMT_USHORT) || (format == FMT_SSHORT))) {
1269 // variable components need to go into data write area
1274 // TODO: doesn't handle multiple components yet -- if more than one, have to put in data write area.
1280 if (components == -1) Put32u(componentsPosition, i); // update component # for unknowns