From: Lutz Mueller Date: Tue, 25 May 2004 22:30:53 +0000 (+0200) Subject: 2004-05-25 Lutz Mueller X-Git-Tag: libexif-0_6_21-release~756 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cdba32644bf1f47c8ed88b92fb537a6f9c038766;p=platform%2Fupstream%2Flibexif.git 2004-05-25 Lutz Mueller * libexif/olympus/mnote-olympus-entry.c: Print bytes if tag is not known. --- diff --git a/ChangeLog b/ChangeLog index 702480c..464ce22 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-05-25 Lutz Mueller + + * libexif/olympus/mnote-olympus-entry.c: Print bytes if tag is not + known. + 2004-05-24 Jan Patera * libjpeg/jpeg-data.[c,h]: jpeg_data_append_section changed diff --git a/libexif/olympus/exif-mnote-data-olympus.c b/libexif/olympus/exif-mnote-data-olympus.c index e59e271..f7b62c9 100644 --- a/libexif/olympus/exif-mnote-data-olympus.c +++ b/libexif/olympus/exif-mnote-data-olympus.c @@ -64,6 +64,9 @@ exif_mnote_data_olympus_get_value (ExifMnoteData *d, unsigned int i, char *val, if (!d) return NULL; if (n->count <= i) return NULL; + exif_log (d->log, EXIF_LOG_CODE_DEBUG, "MnoteDataOlympus", + "Querying value for tag '%s'...", + mnote_olympus_tag_get_name (n->entries[i].tag)); return mnote_olympus_entry_get_value (&n->entries[i], val, maxlen); } diff --git a/libexif/olympus/mnote-olympus-entry.c b/libexif/olympus/mnote-olympus-entry.c index 7d451ff..fc675c8 100644 --- a/libexif/olympus/mnote-olympus-entry.c +++ b/libexif/olympus/mnote-olympus-entry.c @@ -158,7 +158,7 @@ mnote_olympus_entry_get_value (MnoteOlympusEntry *entry, char *v, unsigned int m { char buf[32]; ExifLong vl; - ExifShort vs; + ExifShort vs = 0; ExifRational vr; int i, j; double r, b; @@ -309,13 +309,16 @@ mnote_olympus_entry_get_value (MnoteOlympusEntry *entry, char *v, unsigned int m CF (entry->format, items[i].fmt, v, maxlen); CC (entry->components, 1, v, maxlen); switch (entry->format) { - case EXIF_FORMAT_BYTE: - case EXIF_FORMAT_UNDEFINED: - vs = entry->data[0]; - break; - case EXIF_FORMAT_SHORT: - vs = exif_get_short(entry->data, entry->order); - break; + case EXIF_FORMAT_BYTE: + case EXIF_FORMAT_UNDEFINED: + vs = entry->data[0]; + break; + case EXIF_FORMAT_SHORT: + vs = exif_get_short(entry->data, entry->order); + break; + default: + vs = 0; + break; } /* find the value */ for (j = 0; items[i].elem[j].string && @@ -499,21 +502,26 @@ mnote_olympus_entry_get_value (MnoteOlympusEntry *entry, char *v, unsigned int m default: switch (entry->format) { case EXIF_FORMAT_ASCII: - strncpy (v, entry->data, MIN (maxlen, entry->components)); - break; + strncpy (v, entry->data, + MIN (maxlen, entry->components)); + break; case EXIF_FORMAT_SHORT: - vs = exif_get_short (entry->data, entry->order); - snprintf (v, maxlen, "%hi", vs); - break; + vs = exif_get_short (entry->data, entry->order); + snprintf (v, maxlen, "%hi", vs); + break; case EXIF_FORMAT_LONG: - vl = exif_get_long (entry->data, entry->order); - snprintf (v, maxlen, "%li", vl); - break; + vl = exif_get_long (entry->data, entry->order); + snprintf (v, maxlen, "%li", vl); + break; case EXIF_FORMAT_UNDEFINED: default: - snprintf (v, maxlen, "%li bytes unknown data", - entry->size); - break; + snprintf (v, maxlen, "%li bytes unknown data:", + entry->size); + for (i = 0; i < entry->size; i++) { + sprintf (buf, " %02x", entry->data[i]); + strncat (v, buf, maxlen); + } + break; } break; }