ExifLong vl;
ExifSLong vsl;
ExifShort vs, vs2;
+ ExifSShort vss;
ExifRational vr;
ExifSRational vsr;
int i, j;
break;
case EXIF_FORMAT_SHORT:
vs = exif_get_short (entry->data, entry->order);
- snprintf (val, maxlen, "%i", vs);
+ snprintf (val, maxlen, "%hu", vs);
+ break;
+ case EXIF_FORMAT_SSHORT:
+ vss = exif_get_sshort (entry->data, entry->order);
+ snprintf (val, maxlen, "%hi", vss);
break;
case EXIF_FORMAT_LONG:
vl = exif_get_long (entry->data, entry->order);
{
char buf[30];
ExifLong vl;
+ ExifSLong vsl;
ExifShort vs = 0;
ExifSShort vss = 0;
ExifRational vr, vr2;
vs = exif_get_short (entry->data, entry->order);
snprintf (v, maxlen, "%hu", vs);
break;
+ case EXIF_FORMAT_SSHORT:
+ CC (entry->components, 1, v, maxlen);
+ vss = exif_get_sshort (entry->data, entry->order);
+ snprintf (v, maxlen, "%hi", vss);
+ break;
case EXIF_FORMAT_LONG:
CC (entry->components, 1, v, maxlen);
vl = exif_get_long (entry->data, entry->order);
- snprintf (v, maxlen, "%li", (long int) vl);
+ snprintf (v, maxlen, "%lu", (long unsigned) vl);
+ break;
+ case EXIF_FORMAT_SLONG:
+ CC (entry->components, 1, v, maxlen);
+ vsl = exif_get_slong (entry->data, entry->order);
+ snprintf (v, maxlen, "%li", (long int) vsl);
break;
case EXIF_FORMAT_RATIONAL:
CC (entry->components, 1, v, maxlen);
char *val, unsigned int maxlen)
{
ExifLong vl;
+ ExifSLong vsl;
ExifShort vs, vs2;
+ ExifSShort vss;
int i = 0, j = 0;
if (!entry) return (NULL);
for (i = 0; (items[i].tag && items[i].tag != entry->tag); i++);
if (!items[i].tag) {
snprintf (val, maxlen,
- _("Internal error (unknown value %i)"), vs);
+ _("Internal error (unknown value %hu)"), vs);
break;
}
(items[i].elem[j].index < vs); j++);
if (items[i].elem[j].index != vs) {
snprintf (val, maxlen,
- _("Internal error (unknown value %i)"), vs);
+ _("Internal error (unknown value %hu)"), vs);
break;
}
strncpy (val, _(items[i].elem[j].string), maxlen);
for (i = 0; (items2[i].tag && items2[i].tag != entry->tag); i++);
if (!items2[i].tag) {
snprintf (val, maxlen,
- _("Internal error (unknown value %i %i)"), vs, vs2);
+ _("Internal error (unknown value %hu %hu)"), vs, vs2);
break;
}
|| ((items2[i].elem[j].index2 == vs2) && (items2[i].elem[j].index1 < vs))); j++);
if ((items2[i].elem[j].index1 != vs) || (items2[i].elem[j].index2 != vs2)) {
snprintf (val, maxlen,
- _("Internal error (unknown value %i %i)"), vs, vs2);
+ _("Internal error (unknown value %hi %hi)"), vs, vs2);
break;
}
strncpy (val, _(items2[i].elem[j].string), maxlen);
CF (entry->format, EXIF_FORMAT_LONG, val, maxlen);
CC (entry->components, 1, val, maxlen);
vl = exif_get_long (entry->data, entry->order);
- snprintf (val, maxlen, "%li", (long int) vl);
+ snprintf (val, maxlen, "%lu", (long unsigned) vl);
break;
case MNOTE_PENTAX_TAG_PRINTIM:
CF (entry->format, EXIF_FORMAT_UNDEFINED, val, maxlen);
CC (entry->components, 4, val, maxlen);
/* Note: format is UNDEFINED, not SHORT -> order is fixed: MOTOROLA */
vs = exif_get_short (entry->data, EXIF_BYTE_ORDER_MOTOROLA);
- snprintf (val, maxlen, "%i:%02i:%02i", vs, entry->data[2], entry->data[3]);
+ snprintf (val, maxlen, "%hi:%02i:%02i", vs, entry->data[2], entry->data[3]);
break;
case MNOTE_PENTAX2_TAG_TIME:
CF (entry->format, EXIF_FORMAT_UNDEFINED, val, maxlen);
case EXIF_FORMAT_SHORT:
{
const unsigned char *data = entry->data;
- size_t k, len = strlen(val), sizeleft;
+ size_t k, len = strlen(val), sizeleft;
sizeleft = entry->size;
- for(k=0; k<entry->components; k++) {
+ for(k=0; k<entry->components; k++) {
if (sizeleft < 2)
break;
vs = exif_get_short (data, entry->order);
- snprintf (val+len, maxlen-len, "%i ", vs);
+ snprintf (val+len, maxlen-len, "%hu ", vs);
+ len = strlen(val);
+ data += 2;
+ sizeleft -= 2;
+ }
+ }
+ break;
+ case EXIF_FORMAT_SSHORT:
+ {
+ const unsigned char *data = entry->data;
+ size_t k, len = strlen(val), sizeleft;
+
+ sizeleft = entry->size;
+ for(k=0; k<entry->components; k++) {
+ if (sizeleft < 2)
+ break;
+ vss = exif_get_sshort (data, entry->order);
+ snprintf (val+len, maxlen-len, "%hi ", vss);
len = strlen(val);
data += 2;
sizeleft -= 2;
case EXIF_FORMAT_LONG:
{
const unsigned char *data = entry->data;
- size_t k, len = strlen(val), sizeleft;
+ size_t k, len = strlen(val), sizeleft;
sizeleft = entry->size;
- for(k=0; k<entry->components; k++) {
+ for(k=0; k<entry->components; k++) {
if (sizeleft < 4)
break;
vl = exif_get_long (data, entry->order);
- snprintf (val+len, maxlen-len, "%li", (long int) vl);
+ snprintf (val+len, maxlen-len, "%lu ", (long unsigned) vl);
+ len = strlen(val);
+ data += 4;
+ sizeleft -= 4;
+ }
+ }
+ break;
+ case EXIF_FORMAT_SLONG:
+ {
+ const unsigned char *data = entry->data;
+ size_t k, len = strlen(val), sizeleft;
+
+ sizeleft = entry->size;
+ for(k=0; k<entry->components; k++) {
+ if (sizeleft < 4)
+ break;
+ vsl = exif_get_slong (data, entry->order);
+ snprintf (val+len, maxlen-len, "%li ", (long int) vsl);
len = strlen(val);
data += 4;
sizeleft -= 4;
Entry 31: 158, (unknown)
Size: 46
Entry 32: 159, (unknown)
- Size: 26
+ Size: 1
Entry 33: 172, (unknown)
Size: 11
Entry 34: 178, (unknown)
Entry 0: 16386, Preview Size
Size: 8
Entry 1: 16387, Preview Length
- Size: 1
+ Size: 2
Entry 2: 16388, Preview Start
- Size: 4
+ Size: 5
Entry 3: 24576, Preview Start
Size: 20
Entry 4: 24577, (unknown)
Entry 10: 24609, (unknown)
Size: 24
Entry 11: 24610, Object Distance
- Size: 4
+ Size: 5
Entry 12: 24611, (unknown)
Size: 2
Entry 13: 24625, (unknown)
Entry 1: 16386, Preview Size
Size: 8
Entry 2: 16387, Preview Length
- Size: 1
+ Size: 2
Entry 3: 16388, Preview Start
- Size: 4
- Entry 4: 16389, Model Identification
Size: 5
+ Entry 4: 16389, Model Identification
+ Size: 6
Entry 5: 16390, Date
Size: 10
Entry 6: 16391, Time
Entry 14: 16400, Focus Position
Size: 5
Entry 15: 16402, Exposure Time
- Size: 6
+ Size: 7
Entry 16: 16403, F-Number
Size: 3
Entry 17: 16404, ISO Number
Entry 24: 16412, Red Balance
Size: 2
Entry 25: 16413, Focal Length
- Size: 2
+ Size: 3
Entry 26: 16414, Digital Zoom
Size: 4
Entry 27: 16415, Saturation
Entry 35: 16423, (unknown)
Size: 20
Entry 36: 16425, Frame Number
- Size: 1
+ Size: 2
Entry 37: 16434, Image Processing
Size: 20
Entry 38: 16449, (unknown)
Entry 0: 16386, Preview Size
Size: 8
Entry 1: 16387, Preview Length
- Size: 1
+ Size: 2
Entry 2: 16388, Preview Start
- Size: 4
+ Size: 5
Entry 3: 16389, Model Identification
- Size: 4
+ Size: 5
Entry 4: 24576, Preview Start
Size: 20
Entry 5: 24577, (unknown)
Entry 15: 24609, (unknown)
Size: 24
Entry 16: 24610, Object Distance
- Size: 4
+ Size: 5
Entry 17: 24611, (unknown)
Size: 2
Entry 18: 24625, (unknown)
Entry 22: 24629, (unknown)
Size: 4
Entry 23: 24630, (unknown)
- Size: 9
+ Size: 10
Entry 24: 24631, (unknown)
- Size: 9
+ Size: 10
Entry 25: 24632, (unknown)
- Size: 1
+ Size: 2
Entry 26: 24633, (unknown)
Size: 2
Entry 27: 24634, (unknown)
Entry 29: 24636, (unknown)
Size: 2
Entry 30: 24637, (unknown)
- Size: 5
+ Size: 6
Entry 31: 24638, (unknown)
- Size: 5
+ Size: 6
Entry 32: 24641, (unknown)
Size: 5
Entry 33: 24642, (unknown)
Entry 37: 24646, (unknown)
Size: 5
Entry 38: 24647, (unknown)
- Size: 6
+ Size: 7
Entry 39: 24648, (unknown)
Size: 4
Entry 40: 24649, (unknown)
Entry 42: 24651, (unknown)
Size: 21
Entry 43: 24657, (unknown)
- Size: 1
+ Size: 2
Entry 44: 24658, (unknown)
- Size: 8
+ Size: 9
Entry 45: 24659, (unknown)
- Size: 1
+ Size: 2
Entry 46: 24660, (unknown)
- Size: 10
+ Size: 11
Entry 47: 24661, (unknown)
Size: 2
Entry 48: 24662, (unknown)
Entry 52: 24666, (unknown)
Size: 23
Entry 53: 24667, (unknown)
- Size: 10
+ Size: 11
Entry 54: 24668, (unknown)
- Size: 9
+ Size: 10
Entry 55: 24669, (unknown)
- Size: 6
+ Size: 7
Entry 56: 24670, (unknown)
- Size: 6
+ Size: 7
Entry 57: 24673, (unknown)
Size: 2
Entry 58: 24674, (unknown)
Size: 2
Entry 59: 24675, (unknown)
- Size: 1
+ Size: 2
Entry 60: 24676, (unknown)
Size: 22
Entry 61: 24677, (unknown)
- Size: 9
+ Size: 10
Entry 62: 24678, (unknown)
- Size: 9
+ Size: 10
Entry 63: 24689, (unknown)
Size: 2
Entry 64: 24691, (unknown)
Entry 67: 24695, (unknown)
Size: 20
Entry 68: 24697, (unknown)
- Size: 1
+ Size: 2
Entry 69: 24698, (unknown)
- Size: 1
+ Size: 2
Entry 70: 24699, (unknown)
- Size: 1
+ Size: 2
Entry 71: 24700, (unknown)
Size: 5
Entry 72: 24701, (unknown)
Entry 74: 24703, (unknown)
Size: 2
Entry 75: 24705, (unknown)
- Size: 1
+ Size: 2
Entry 76: 24706, (unknown)
Size: 5
Entry 77: 24707, (unknown)
Entry 90: 24722, (unknown)
Size: 20
Entry 91: 24723, (unknown)
- Size: 5
+ Size: 6
Entry 92: 24724, (unknown)
Size: 21
Entry 93: 24725, (unknown)
Entry 101: 24739, (unknown)
Size: 2
Entry 102: 24740, (unknown)
- Size: 20
+ Size: 2
Entry 103: 24741, (unknown)
- Size: 20
+ Size: 2
Entry 104: 24753, (unknown)
- Size: 1
+ Size: 2
Entry 105: 24754, (unknown)
- Size: 1
+ Size: 2
Entry 106: 24755, (unknown)
- Size: 1
+ Size: 2
Entry 107: 24756, (unknown)
- Size: 1
+ Size: 2
Entry 108: 24757, (unknown)
Size: 4
Entry 109: 24768, (unknown)
Entry 152: 28720, (unknown)
Size: 2
Entry 153: 28929, (unknown)
- Size: 1
+ Size: 2
Entry 154: 28930, (unknown)
- Size: 1
+ Size: 2
Entry 155: 28931, (unknown)
Size: 2
Entry 156: 28933, (unknown)