diff src/exif.c @ 185:354da67a7ca2

read also iptc and xmp
author nadvornik
date Fri, 15 Feb 2008 10:48:09 +0000
parents 8a417f10ba09
children 9eafc4957f1a
line wrap: on
line diff
--- a/src/exif.c	Thu Feb 14 14:04:43 2008 +0000
+++ b/src/exif.c	Fri Feb 15 10:48:09 2008 +0000
@@ -494,7 +494,7 @@
 const char *exif_item_get_tag_name(ExifItem *item)
 {
 	if (!item || !item->marker) return NULL;
-	return item->marker->key;
+	return g_strdup(item->marker->key);
 }
 
 guint exif_item_get_tag_id(ExifItem *item)
@@ -694,7 +694,9 @@
 	if (!dest ||
 	    ExifFormatList[src_format].size * ne > len)
 		{
-		printf("exif tag %s data size mismatch\n", exif_item_get_tag_name(item));
+		gchar *tag = exif_item_get_tag_name(item);
+		printf("exif tag %s data size mismatch\n", tag);
+		g_free(tag);
 		return;
 		}
 
@@ -1556,8 +1558,10 @@
 	text = exif_item_get_data_as_text(item);
 	if (text)
 		{
+		gchar *tag = exif_item_get_tag_name(item);
 		fprintf(f, "%4x %9s %30s %s\n", item->tag, ExifFormatList[item->format].short_name,
-			exif_item_get_tag_name(item), text);
+			tag, text);
+		g_free(tag);
 		}
 	g_free(text);
 }