2004-11-10 Lutz Mueller <lutz@users.sourceforge.net>
authorLutz Mueller <lutz.s.mueller@gmail.com>
Wed, 10 Nov 2004 18:38:34 +0000 (19:38 +0100)
committerLutz Mueller <lutz.s.mueller@gmail.com>
Wed, 10 Nov 2004 18:38:34 +0000 (19:38 +0100)
* libexif/exif-tag.[c,h] (exif_tag_from_name): New. Suggested by
  Angela Wrobel.

ChangeLog
libexif/exif-tag.c
libexif/exif-tag.h

index 1b89630..cf9b10a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2004-11-10  Lutz Mueller <lutz@users.sourceforge.net>
 
+       * libexif/exif-tag.[c,h] (exif_tag_from_name): New. Suggested by
+         Angela Wrobel.
+
+2004-11-10  Lutz Mueller <lutz@users.sourceforge.net>
+
        * libexif/exif-data.c (exif_data_free): Fix memleak found by 
          Angela Wrobel.
        * contrib/watcom: Updated files contributed by Angela Wrobel.
index 61ea733..957b4ef 100644 (file)
@@ -629,7 +629,7 @@ exif_tag_get_name (ExifTag tag)
                if (ExifTagTable[i].tag == tag)
                        break;
 
-       return (ExifTagTable[i].name);
+       return ExifTagTable[i].name;
 }
 
 const char *
@@ -641,10 +641,8 @@ exif_tag_get_title (ExifTag tag)
        bindtextdomain (GETTEXT_PACKAGE, LIBEXIF_LOCALEDIR);
 
        for (i = 0; ExifTagTable[i].title; i++)
-               if (ExifTagTable[i].tag == tag)
-                       break;
-
-       return (_(ExifTagTable[i].title));
+               if (ExifTagTable[i].tag == tag) break;
+       return _(ExifTagTable[i].title);
 }
 
 const char *
@@ -656,8 +654,18 @@ exif_tag_get_description (ExifTag tag)
        bindtextdomain (GETTEXT_PACKAGE, LIBEXIF_LOCALEDIR);
 
        for (i = 0; ExifTagTable[i].description; i++)
-               if (ExifTagTable[i].tag == tag)
-                       break;
+               if (ExifTagTable[i].tag == tag) break;
+       return _(ExifTagTable[i].description);
+}
 
-       return (_(ExifTagTable[i].description));
+ExifTag 
+exif_tag_from_name (const char *name)
+{
+       unsigned int i;
+
+       if (!name) return 0;
+
+       for (i = 0; ExifTagTable[i].name; i++)
+               if (!strcmp (ExifTagTable[i].name, name)) break;
+       return ExifTagTable[i].tag;
 }
index adf1e20..f928374 100644 (file)
@@ -136,6 +136,7 @@ typedef enum {
        EXIF_TAG_IMAGE_UNIQUE_ID                = 0xa420
 } ExifTag;
 
+ExifTag         exif_tag_from_name       (const char *);
 const char     *exif_tag_get_name        (ExifTag tag);
 const char     *exif_tag_get_title       (ExifTag tag);
 const char     *exif_tag_get_description (ExifTag tag);