You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(22) |
Sep
(57) |
Oct
(39) |
Nov
(93) |
Dec
(72) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(15) |
Feb
(8) |
Mar
(12) |
Apr
(25) |
May
(2) |
Jun
|
Jul
(11) |
Aug
(32) |
Sep
(18) |
Oct
(53) |
Nov
|
Dec
(11) |
2004 |
Jan
(19) |
Feb
(1) |
Mar
(15) |
Apr
(17) |
May
(56) |
Jun
(19) |
Jul
(6) |
Aug
(16) |
Sep
(44) |
Oct
(31) |
Nov
(36) |
Dec
(13) |
2005 |
Jan
(2) |
Feb
(41) |
Mar
(304) |
Apr
(176) |
May
(19) |
Jun
(33) |
Jul
(14) |
Aug
(21) |
Sep
(4) |
Oct
(3) |
Nov
|
Dec
(8) |
2006 |
Jan
(18) |
Feb
(9) |
Mar
(5) |
Apr
(2) |
May
(2) |
Jun
(4) |
Jul
(2) |
Aug
|
Sep
(7) |
Oct
(10) |
Nov
|
Dec
|
2007 |
Jan
|
Feb
(3) |
Mar
(1) |
Apr
(4) |
May
(124) |
Jun
(59) |
Jul
(1) |
Aug
(13) |
Sep
(3) |
Oct
(11) |
Nov
(30) |
Dec
(35) |
2008 |
Jan
(31) |
Feb
(42) |
Mar
(4) |
Apr
(5) |
May
(2) |
Jun
(12) |
Jul
(8) |
Aug
(2) |
Sep
(4) |
Oct
(5) |
Nov
(89) |
Dec
(23) |
2009 |
Jan
(71) |
Feb
(5) |
Mar
(8) |
Apr
(7) |
May
(8) |
Jun
(7) |
Jul
|
Aug
(4) |
Sep
(58) |
Oct
(74) |
Nov
(53) |
Dec
(32) |
2010 |
Jan
(8) |
Feb
(13) |
Mar
(4) |
Apr
|
May
|
Jun
(10) |
Jul
(1) |
Aug
(2) |
Sep
(12) |
Oct
(17) |
Nov
(2) |
Dec
(24) |
2011 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(24) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
(20) |
Mar
(18) |
Apr
|
May
|
Jun
|
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(12) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(8) |
Jun
|
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(5) |
From: Jan P. <pa...@us...> - 2007-05-18 19:53:48
|
Update of /cvsroot/libexif/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv26681/libexif Modified Files: exif-tag.c Log Message: Removed kinda nonsense references to Exif Standard Appendices that made it into the code by copy&pasting tag descriptions from the standard. Index: exif-tag.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-tag.c,v retrieving revision 1.31 retrieving revision 1.32 diff -u -p -d -r1.31 -r1.32 --- exif-tag.c 15 May 2007 18:23:28 -0000 1.31 +++ exif-tag.c 18 May 2007 19:53:43 -0000 1.32 @@ -407,7 +407,7 @@ static struct { { ESL_NNNN, ESL_NNNN, ESL_NNNO, ESL_NNNN, ESL_NNNN } }, {EXIF_TAG_SHUTTER_SPEED_VALUE, "ShutterSpeedValue", N_("Shutter speed"), N_("Shutter speed. The unit is the APEX (Additive System of " - "Photographic Exposure) setting (see Appendix C)."), + "Photographic Exposure) setting."), { ESL_NNNN, ESL_NNNN, ESL_OOOO, ESL_NNNN, ESL_NNNN } }, {EXIF_TAG_APERTURE_VALUE, "ApertureValue", N_("Aperture"), N_("The lens aperture. The unit is the APEX value."), @@ -506,15 +506,14 @@ static struct { "conditions and environment. If a color space other than " "sRGB is used, Uncalibrated (=FFFF.H) is set. Image data " "recorded as Uncalibrated can be treated as sRGB when it is " - "converted to FlashPix. On sRGB see Appendix E."), + "converted to FlashPix."), { ESL_NNNN, ESL_NNNN, ESL_MMMM, ESL_NNNN, ESL_NNNN } }, {EXIF_TAG_PIXEL_X_DIMENSION, "PixelXDimension", "PixelXDimension", N_("Information specific to compressed data. When a " "compressed file is recorded, the valid width of the " "meaningful image must be recorded in this tag, whether or " "not there is padding data or a restart marker. This tag " - "should not exist in an uncompressed file. For details see " - "section 2.8.1 and Appendix F."), + "should not exist in an uncompressed file."), { ESL_NNNN, ESL_NNNN, ESL_NNNM, ESL_NNNN, ESL_NNNN } }, {EXIF_TAG_PIXEL_Y_DIMENSION, "PixelYDimension", "PixelYDimension", N_("Information specific to compressed data. When a compressed " @@ -651,7 +650,7 @@ static struct { N_("This tag indicates the type of scene that was shot. It can " "also be used to record the mode in which the image was " "shot. Note that this differs from the scene type " - "(SceneType) tag.")}, + "<SceneType> tag.")}, {EXIF_TAG_GAIN_CONTROL, "GainControl", N_("Gain Control"), N_("This tag indicates the degree of overall image gain " "adjustment.")}, |
From: Hans U. N. <hu...@us...> - 2007-05-17 15:32:05
|
Update of /cvsroot/libexif/gexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv8043 Modified Files: configure.ac Log Message: add missing AM_PROG_CC_C_O Index: configure.ac =================================================================== RCS file: /cvsroot/libexif/gexif/configure.ac,v retrieving revision 1.5 retrieving revision 1.6 diff -u -p -d -r1.5 -r1.6 --- configure.ac 30 Jun 2006 13:44:00 -0000 1.5 +++ configure.ac 17 May 2007 15:32:01 -0000 1.6 @@ -28,6 +28,7 @@ AM_PROG_CC_STDC AC_HEADER_STDC AM_PROG_LIBTOOL AM_CPPFLAGS="$CPPFLAGS -I\$(top_srcdir)" +AM_PROG_CC_C_O GP_PKG_CONFIG |
From: Hans U. N. <hu...@us...> - 2007-05-17 15:31:41
|
Update of /cvsroot/libexif/libexif-gtk In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv7975 Modified Files: configure.ac Log Message: add missing AM_PROG_CC_C_O Index: configure.ac =================================================================== RCS file: /cvsroot/libexif/libexif-gtk/configure.ac,v retrieving revision 1.6 retrieving revision 1.7 diff -u -p -d -r1.6 -r1.7 --- configure.ac 17 May 2007 14:56:24 -0000 1.6 +++ configure.ac 17 May 2007 15:31:38 -0000 1.7 @@ -25,6 +25,7 @@ GP_CONFIG_MSG([Source code location],[${ AC_PROG_CC AM_PROG_CC_STDC +AM_PROG_CC_C_O AC_HEADER_STDC GP_PKG_CONFIG()dnl |
From: Hans U. N. <hu...@us...> - 2007-05-17 15:29:47
|
Update of /cvsroot/libexif/exif/exif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv7044/exif Modified Files: Makefile.am Log Message: change GNU make % rule to generic make rule Index: Makefile.am =================================================================== RCS file: /cvsroot/libexif/exif/exif/Makefile.am,v retrieving revision 1.17 retrieving revision 1.18 diff -u -p -d -r1.17 -r1.18 --- Makefile.am 2 Apr 2005 02:33:59 -0000 1.17 +++ Makefile.am 17 May 2007 15:29:44 -0000 1.18 @@ -26,7 +26,7 @@ EXTRA_DIST = check-param-validity.in TESTS = $(check_SCRIPTS) -%.sh: %.in +.in.sh: sed 's|@exif\@|./exif$(EXEEXT)|g' < $< > $@ chmod +x $@ |
From: Hans U. N. <hu...@us...> - 2007-05-17 15:29:26
|
Update of /cvsroot/libexif/exif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv6994 Modified Files: configure.ac Log Message: add missing AM_PROG_CC_C_O Index: configure.ac =================================================================== RCS file: /cvsroot/libexif/exif/configure.ac,v retrieving revision 1.6 retrieving revision 1.7 diff -u -p -d -r1.6 -r1.7 --- configure.ac 15 Aug 2005 20:50:43 -0000 1.6 +++ configure.ac 17 May 2007 15:29:22 -0000 1.7 @@ -28,6 +28,7 @@ AC_C_CONST AM_PROG_LIBTOOL AM_CPPFLAGS="$CPPFLAGS -I\$(top_srcdir)" GP_CONFIG_MSG([Compiler],[${CC}]) +AM_PROG_CC_C_O AC_CHECK_FUNCS([isatty fileno]) |
From: Hans U. N. <hu...@us...> - 2007-05-17 14:57:31
|
Update of /cvsroot/libexif/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv26100/libexif Modified Files: Makefile.am Removed Files: libexif.pc.in Log Message: new place for *.pc.in --- libexif.pc.in DELETED --- Index: Makefile.am =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/Makefile.am,v retrieving revision 1.37 retrieving revision 1.38 diff -u -p -d -r1.37 -r1.38 --- Makefile.am 16 Sep 2006 23:25:30 -0000 1.37 +++ Makefile.am 17 May 2007 14:57:26 -0000 1.38 @@ -62,9 +62,7 @@ libexifinclude_HEADERS = \ exif-utils.h \ _stdint.h -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = libexif.pc -EXTRA_DIST = libexif.pc.in libexif.sym +EXTRA_DIST = libexif.sym DISTCLEANFILES = _stdint.h |
From: Hans U. N. <hu...@us...> - 2007-05-17 14:57:31
|
Update of /cvsroot/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv26100 Modified Files: .cvsignore Makefile.am configure.ac Added Files: libexif-uninstalled.pc.in libexif.pc.in Log Message: new place for *.pc.in --- NEW FILE: libexif-uninstalled.pc.in --- # Include stuff requires a system which can do symlinks. Name: libexif Description: Library for easy access to EXIF data Version: @VERSION@ Libs: ${pcfiledir}/libexif/libexif.la Cflags: -I${pcfiledir}/@srcdir@/libexif Index: .cvsignore =================================================================== RCS file: /cvsroot/libexif/libexif/.cvsignore,v retrieving revision 1.9 retrieving revision 1.10 diff -u -p -d -r1.9 -r1.10 --- .cvsignore 26 Mar 2005 18:07:53 -0000 1.9 +++ .cvsignore 17 May 2007 14:57:25 -0000 1.10 @@ -1,4 +1,5 @@ m4 +auto-m4 intl autom4te.cache configure.scan --- NEW FILE: libexif.pc.in --- prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ Name: libexif Description: Library for easy access to EXIF data Requires: Version: @VERSION@ Libs: -L${libdir} -lexif -lm Cflags: -I${includedir} Index: Makefile.am =================================================================== RCS file: /cvsroot/libexif/libexif/Makefile.am,v retrieving revision 1.42 retrieving revision 1.43 diff -u -p -d -r1.42 -r1.43 --- Makefile.am 10 May 2007 15:12:58 -0000 1.42 +++ Makefile.am 17 May 2007 14:57:25 -0000 1.43 @@ -6,6 +6,14 @@ endif EXTRA_DIST = @PACKAGE_TARNAME@.spec autogen.sh $(README_W32_XDIST) +pkgconfigdir = $(libdir)/pkgconfig + +pkgconfig_DATA = libexif.pc +EXTRA_DIST += libexif.pc.in + +noinst_DATA = libexif-uninstalled.pc +EXTRA_DIST += libexif-uninstalled.pc.in + ACLOCAL_AMFLAGS = -I auto-m4 -I m4m doc_DATA = README AUTHORS NEWS ChangeLog ABOUT-NLS COPYING Index: configure.ac =================================================================== RCS file: /cvsroot/libexif/libexif/configure.ac,v retrieving revision 1.20 retrieving revision 1.21 diff -u -p -d -r1.20 -r1.21 --- configure.ac 10 May 2007 15:44:15 -0000 1.20 +++ configure.ac 17 May 2007 14:57:25 -0000 1.21 @@ -178,8 +178,18 @@ AC_CONFIG_FILES([ doc/Makefile doc/Doxyfile doc/Doxyfile-internals - libexif/libexif.pc + libexif.pc + libexif-uninstalled.pc binary/Makefile +], [ + # Symlink to enable proper #include <exif/foo.h> on uninstalled + # libexif source tree. Move the header files once the source + # is out of CVS and in SVN, git, bzr, whatever. + if test -e "${srcdir}/libexif/exif"; then + : # do nothing + else + (cd ${srcdir}/libexif && ${LN_S} exif .) + fi ]) AC_OUTPUT |
From: Hans U. N. <hu...@us...> - 2007-05-17 14:56:29
|
Update of /cvsroot/libexif/libexif-gtk/libexif-gtk In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv25600/libexif-gtk Modified Files: Makefile.am Removed Files: libexif-gtk-uninstalled.pc.in libexif-gtk.pc.in Log Message: new place for *.pc.in --- libexif-gtk.pc.in DELETED --- --- libexif-gtk-uninstalled.pc.in DELETED --- Index: Makefile.am =================================================================== RCS file: /cvsroot/libexif/libexif-gtk/libexif-gtk/Makefile.am,v retrieving revision 1.16 retrieving revision 1.17 diff -u -p -d -r1.16 -r1.17 --- Makefile.am 10 May 2007 17:09:11 -0000 1.16 +++ Makefile.am 17 May 2007 14:56:26 -0000 1.17 @@ -52,6 +52,3 @@ libexif_gtk_la_LIBADD = \ $(LIBEXIF_LIBS) \ $(GTK_LIBS) -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = libexif-gtk.pc -EXTRA_DIST = libexif-gtk.pc.in |
From: Hans U. N. <hu...@us...> - 2007-05-17 14:56:29
|
Update of /cvsroot/libexif/libexif-gtk In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv25600 Modified Files: Makefile.am configure.ac Added Files: libexif-gtk-uninstalled.pc.in libexif-gtk.pc.in Log Message: new place for *.pc.in --- NEW FILE: libexif-gtk.pc.in --- prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ Name: libexif-gtk Description: GTK-widgets for libexif Requires: libexif Version: @VERSION@ Libs: -L${libdir} -lexif -lexif-gtk -lm Cflags: -I${includedir} Index: configure.ac =================================================================== RCS file: /cvsroot/libexif/libexif-gtk/configure.ac,v retrieving revision 1.5 retrieving revision 1.6 diff -u -p -d -r1.5 -r1.6 --- configure.ac 11 May 2007 07:12:38 -0000 1.5 +++ configure.ac 17 May 2007 14:56:24 -0000 1.6 @@ -126,8 +126,8 @@ AC_CONFIG_FILES([ po/Makefile.in Makefile libexif-gtk/Makefile - libexif-gtk/libexif-gtk.pc - libexif-gtk/libexif-gtk-uninstalled.pc + libexif-gtk.pc + libexif-gtk-uninstalled.pc gtk-extensions/Makefile tests/Makefile m4m/Makefile --- NEW FILE: libexif-gtk-uninstalled.pc.in --- Name: libexif-gtk Description: GTK-widgets for libexif Requires: libexif Version: @VERSION@ Libs: ${pcfiledir}/libexif-gtk/libexif-gtk.la Cflags: -I${pcfiledir}/@srcdir@ Index: Makefile.am =================================================================== RCS file: /cvsroot/libexif/libexif-gtk/Makefile.am,v retrieving revision 1.11 retrieving revision 1.12 diff -u -p -d -r1.11 -r1.12 --- Makefile.am 9 Apr 2005 19:50:40 -0000 1.11 +++ Makefile.am 17 May 2007 14:56:24 -0000 1.12 @@ -2,4 +2,12 @@ SUBDIRS = m4m po gtk-extensions libexif- EXTRA_DIST = autogen.sh +pkgconfigdir = $(libdir)/pkgconfig + +pkgconfig_DATA = libexif-gtk.pc +EXTRA_DIST += libexif-gtk.pc.in + +noinst_DATA = libexif-gtk-uninstalled.pc +EXTRA_DIST += libexif-gtk-uninstalled.pc.in + ACLOCAL_AMFLAGS = -I m4m |
From: Jan P. <pa...@us...> - 2007-05-15 18:33:49
|
Update of /cvsroot/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv9935 Modified Files: ChangeLog NEWS Log Message: Updated news: * Added support of 2 new types of Pentax makernotes & Casio type2 makernote * Added support of Win XP metadata (Author, Comment, KeyWords, Title, Subject) tags Index: NEWS =================================================================== RCS file: /cvsroot/libexif/libexif/NEWS,v retrieving revision 1.14 retrieving revision 1.15 diff -u -p -d -r1.14 -r1.15 --- NEWS 10 May 2007 17:03:15 -0000 1.14 +++ NEWS 15 May 2007 18:33:40 -0000 1.15 @@ -1,5 +1,8 @@ New in 0.6.14.cvs1 since 0.6.14 (2007-05-10): + * Added support of 2 new types of Pentax makernotes & Casio type2 makernote + * Added support of Win XP metadata (Author, Comment, KeyWords, Title, + Subject) tags * Bug fixes: [ 1443183 ] install error when doxygen is not present. Index: ChangeLog =================================================================== RCS file: /cvsroot/libexif/libexif/ChangeLog,v retrieving revision 1.244 retrieving revision 1.245 diff -u -p -d -r1.244 -r1.245 --- ChangeLog 15 May 2007 18:31:07 -0000 1.244 +++ ChangeLog 15 May 2007 18:33:40 -0000 1.245 @@ -1,7 +1,7 @@ 2007-05-15 Jan Patera <pa...@us...> - * Windows XP Explorer writes Title, Comment, Author, Metadata, Keywords, - and Subject metadata into proprietary UTF16-encoded tags 0x9c9b-0x9c9f + * Windows XP Explorer writes Title, Comment, Author, Keywords, and + Subject metadata into proprietary UTF16-encoded tags 0x9c9b-0x9c9f in IFD0. We now recognize them, exif_entry_get_value returns their value converted to UTF8. BTW, Explorer corrupts makernotes using offsets relative to IFD0... |
From: Jan P. <pa...@us...> - 2007-05-15 18:31:43
|
Update of /cvsroot/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv8539 Modified Files: ChangeLog Log Message: Windows XP Explorer writes Title, Comment, Author, Metadata, Keywords, and Subject metadata into proprietary UTF16-encoded tags 0x9c9b-0x9c9f in IFD0. We now recognize them, exif_entry_get_value returns their value converted to UTF8. BTW, Explorer corrupts makernotes using offsets relative to IFD0... Index: ChangeLog =================================================================== RCS file: /cvsroot/libexif/libexif/ChangeLog,v retrieving revision 1.243 retrieving revision 1.244 diff -u -p -d -r1.243 -r1.244 --- ChangeLog 13 May 2007 19:29:57 -0000 1.243 +++ ChangeLog 15 May 2007 18:31:07 -0000 1.244 @@ -1,3 +1,11 @@ +2007-05-15 Jan Patera <pa...@us...> + + * Windows XP Explorer writes Title, Comment, Author, Metadata, Keywords, + and Subject metadata into proprietary UTF16-encoded tags 0x9c9b-0x9c9f + in IFD0. We now recognize them, exif_entry_get_value returns their value + converted to UTF8. BTW, Explorer corrupts makernotes using offsets + relative to IFD0... + 2007-05-13 Jan Patera <pa...@us...> * Added support of a new Pentax makernote type, plus another makernote |
From: Jan P. <pa...@us...> - 2007-05-15 18:23:36
|
Update of /cvsroot/libexif/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv3381 Modified Files: exif-entry.c exif-tag.c exif-tag.h exif-utils.c exif-utils.h Log Message: Windows XP Explorer writes Title, Comment, Author, Metadata, Keywords, and Subject metadata into proprietary UTF16-encoded tags 0x9c9b-0x9c9f in IFD0. We now recognize them, exif_entry_get_value returns their value converted to UTF8. BTW, Explorer corrupts makernote using offsets relative to IFD0... Index: exif-utils.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-utils.h,v retrieving revision 1.15 retrieving revision 1.16 diff -u -p -d -r1.15 -r1.16 --- exif-utils.h 3 Oct 2006 19:41:36 -0000 1.15 +++ exif-utils.h 15 May 2007 18:23:28 -0000 1.16 @@ -65,6 +65,8 @@ void exif_set_rational (unsigned char * void exif_set_srational (unsigned char *b, ExifByteOrder order, ExifSRational value); +void exif_convert_utf16_to_utf8 (char *out, const unsigned short *in, int maxlen); + /* Please do not use this function outside of the library. */ void exif_array_set_byte_order (ExifFormat, unsigned char *, unsigned int, ExifByteOrder o_orig, ExifByteOrder o_new); Index: exif-tag.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-tag.h,v retrieving revision 1.14 retrieving revision 1.15 diff -u -p -d -r1.14 -r1.15 --- exif-tag.h 30 Apr 2005 00:55:42 -0000 1.14 +++ exif-tag.h 15 May 2007 18:23:28 -0000 1.15 @@ -107,6 +107,11 @@ typedef enum { EXIF_TAG_SUB_SEC_TIME = 0x9290, EXIF_TAG_SUB_SEC_TIME_ORIGINAL = 0x9291, EXIF_TAG_SUB_SEC_TIME_DIGITIZED = 0x9292, + EXIF_TAG_XP_TITLE = 0x9c9b, + EXIF_TAG_XP_COMMENT = 0x9c9c, + EXIF_TAG_XP_AUTHOR = 0x9c9d, + EXIF_TAG_XP_KEYWORDS = 0x9c9e, + EXIF_TAG_XP_SUBJECT = 0x9c9f, EXIF_TAG_FLASH_PIX_VERSION = 0xa000, EXIF_TAG_COLOR_SPACE = 0xa001, EXIF_TAG_PIXEL_X_DIMENSION = 0xa002, Index: exif-tag.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-tag.c,v retrieving revision 1.30 retrieving revision 1.31 diff -u -p -d -r1.30 -r1.31 --- exif-tag.c 13 Feb 2006 07:31:52 -0000 1.30 +++ exif-tag.c 15 May 2007 18:23:28 -0000 1.31 @@ -486,6 +486,16 @@ static struct { N_("A tag used to record fractions of seconds for the " "<DateTimeDigitized> tag."), { ESL_NNNN, ESL_NNNN, ESL_OOOO, ESL_NNNN, ESL_NNNN } }, + {EXIF_TAG_XP_TITLE, "XPTitle", N_("XP Title"), "", + { ESL_OOOO, ESL_NNNN, ESL_NNNN, ESL_NNNN, ESL_NNNN } }, + {EXIF_TAG_XP_COMMENT, "XPComment", N_("XP Comment"), "", + { ESL_OOOO, ESL_NNNN, ESL_NNNN, ESL_NNNN, ESL_NNNN } }, + {EXIF_TAG_XP_AUTHOR, "XPAuthor", N_("XP Author"), "", + { ESL_OOOO, ESL_NNNN, ESL_NNNN, ESL_NNNN, ESL_NNNN } }, + {EXIF_TAG_XP_KEYWORDS, "XPKeywords", N_("XP Keywords"), "", + { ESL_OOOO, ESL_NNNN, ESL_NNNN, ESL_NNNN, ESL_NNNN } }, + {EXIF_TAG_XP_SUBJECT, "XPSubject", N_("XP Subject"), "", + { ESL_OOOO, ESL_NNNN, ESL_NNNN, ESL_NNNN, ESL_NNNN } }, {EXIF_TAG_FLASH_PIX_VERSION, "FlashPixVersion", "FlashPixVersion", N_("The FlashPix format version supported by a FPXR file."), { ESL_NNNN, ESL_NNNN, ESL_MMMM, ESL_NNNN, ESL_NNNN } }, Index: exif-utils.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-utils.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -p -d -r1.11 -r1.12 --- exif-utils.c 31 Mar 2005 12:24:31 -0000 1.11 +++ exif-utils.c 15 May 2007 18:23:28 -0000 1.12 @@ -212,3 +212,40 @@ exif_set_srational (unsigned char *buf, exif_set_slong (buf, order, value.numerator); exif_set_slong (buf + 4, order, value.denominator); } + +void +exif_convert_utf16_to_utf8 (char *out, const unsigned short *in, int maxlen) +{ + /* This function converts rather UCS2 than UTF16 to UTF8 */ + if (maxlen <= 0) { + return; + } + while (*in) { + if (*in < 0x80) { + if (maxlen > 1) { + *out++ = (char)*in++; + maxlen--; + } else { + break; + } + } else if (*in < 0x800) { + if (maxlen > 2) { + *out++ = ((*in >> 6) & 0x1F) | 0xC0; + *out++ = (*in++ & 0x3F) | 0x80; + maxlen -= 2; + } else { + break; + } + } else { + if (maxlen > 2) { + *out++ = ((*in >> 12) & 0x0F) | 0xE0; + *out++ = ((*in >> 6) & 0x3F) | 0x80; + *out++ = (*in++ & 0x3F) | 0x80; + maxlen -= 3; + } else { + break; + } + } + } + *out = 0; +} \ No newline at end of file Index: exif-entry.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-entry.c,v retrieving revision 1.100 retrieving revision 1.101 diff -u -p -d -r1.100 -r1.101 --- exif-entry.c 13 May 2007 19:24:01 -0000 1.100 +++ exif-entry.c 15 May 2007 18:23:28 -0000 1.101 @@ -711,16 +711,16 @@ exif_entry_get_value (ExifEntry *e, char (float) v_rat.denominator); break; case EXIF_TAG_APERTURE_VALUE: - case EXIF_TAG_MAX_APERTURE_VALUE: + case EXIF_TAG_MAX_APERTURE_VALUE: CF (e, EXIF_FORMAT_RATIONAL, val, maxlen); CC (e, 1, val, maxlen); v_rat = exif_get_rational (e->data, o); if (!v_rat.denominator) return val; - d = (double) v_rat.numerator / (double) v_rat.denominator; - snprintf (val, maxlen, _("%.02f EV"), d); - snprintf (b, sizeof (b), _(" (f/%.01f)"), pow (2, d / 2.)); - if (maxlen > strlen (val) + strlen (b)) - strncat (val, b, maxlen - strlen (val) - 1); + d = (double) v_rat.numerator / (double) v_rat.denominator; + snprintf (val, maxlen, _("%.02f EV"), d); + snprintf (b, sizeof (b), _(" (f/%.01f)"), pow (2, d / 2.)); + if (maxlen > strlen (val) + strlen (b)) + strncat (val, b, maxlen - strlen (val) - 1); break; case EXIF_TAG_FOCAL_LENGTH: CF (e, EXIF_FORMAT_RATIONAL, val, maxlen); @@ -785,8 +785,8 @@ exif_entry_get_value (ExifEntry *e, char CC (e, 1, val, maxlen); v_srat = exif_get_srational (e->data, o); if (!v_srat.denominator) return val; - d = (double) v_srat.numerator / (double) v_srat.denominator; - snprintf (val, maxlen, _("%.02f EV"), d); + d = (double) v_srat.numerator / (double) v_srat.denominator; + snprintf (val, maxlen, _("%.02f EV"), d); snprintf (b, sizeof (b), " (APEX: %i)", (int) pow (sqrt(2), d)); if (maxlen > strlen (val) + strlen (b)) strncat (val, b, maxlen - strlen (val) - 1); @@ -804,13 +804,13 @@ exif_entry_get_value (ExifEntry *e, char CF (e, EXIF_FORMAT_SRATIONAL, val, maxlen); CC (e, 1, val, maxlen); v_srat = exif_get_srational (e->data, o); - if (!v_srat.denominator) return val; - d = (double) v_srat.numerator / (double) v_srat.denominator; - snprintf (val, maxlen, _("%.02f EV"), d); - snprintf (b, sizeof (b), _(" (%.02f cd/m^2)"), - 1. / (M_PI * 0.3048 * 0.3048) * pow (2, d)); - if (maxlen > strlen (val) + strlen (b)) - strncat (val, b, maxlen - strlen (val) - 1); + if (!v_srat.denominator) return val; + d = (double) v_srat.numerator / (double) v_srat.denominator; + snprintf (val, maxlen, _("%.02f EV"), d); + snprintf (b, sizeof (b), _(" (%.02f cd/m^2)"), + 1. / (M_PI * 0.3048 * 0.3048) * pow (2, d)); + if (maxlen > strlen (val) + strlen (b)) + strncat (val, b, maxlen - strlen (val) - 1); break; case EXIF_TAG_FILE_SOURCE: CF (e, EXIF_FORMAT_UNDEFINED, val, maxlen); @@ -843,8 +843,8 @@ exif_entry_get_value (ExifEntry *e, char CC (e, 1, val, maxlen); v_srat = exif_get_srational (e->data, o); if (!v_srat.denominator) return val; - d = (double) v_srat.numerator / (double) v_srat.denominator; - snprintf (val, maxlen, _("%.02f EV"), d); + d = (double) v_srat.numerator / (double) v_srat.denominator; + snprintf (val, maxlen, _("%.02f EV"), d); break; case EXIF_TAG_YCBCR_SUB_SAMPLING: CF (e, EXIF_FORMAT_SHORT, val, maxlen); @@ -967,7 +967,15 @@ exif_entry_get_value (ExifEntry *e, char snprintf (val, maxlen, "%i", v_short); else strncpy (val, _(list[i].strings[j]), maxlen - 1); - break; + break; + case EXIF_TAG_XP_TITLE: + case EXIF_TAG_XP_COMMENT: + case EXIF_TAG_XP_AUTHOR: + case EXIF_TAG_XP_KEYWORDS: + case EXIF_TAG_XP_SUBJECT: + /* Warning! The texts are converted from UTF16 to UTF8 */ + exif_convert_utf16_to_utf8(val, (unsigned short*)e->data, MIN(maxlen, e->size)); + break; case EXIF_TAG_INTEROPERABILITY_VERSION: if (e->format == EXIF_FORMAT_UNDEFINED) { strncpy (val, (char *) e->data, MIN (maxlen, e->size)); |
From: Jan P. <pa...@us...> - 2007-05-14 05:43:29
|
Update of /cvsroot/libexif/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv20161 Modified Files: exif-data.c Log Message: Makernote is parsed even when there is not enough data for (makernote-irelevant) IFD1 Index: exif-data.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-data.c,v retrieving revision 1.93 retrieving revision 1.94 diff -u -p -d -r1.93 -r1.94 --- exif-data.c 13 May 2007 19:24:01 -0000 1.93 +++ exif-data.c 14 May 2007 05:43:10 -0000 1.94 @@ -669,7 +669,7 @@ exif_data_get_type_maker_note (ExifData return EXIF_DATA_TYPE_MAKER_NOTE_NONE; e = exif_data_get_entry (d, EXIF_TAG_MAKER_NOTE); - if (!e) + if (!e) return EXIF_DATA_TYPE_MAKER_NOTE_NONE; /* Olympus & Nikon */ @@ -842,11 +842,10 @@ exif_data_load_data (ExifData *data, con /* Sanity check. */ if (offset > ds - 6) { exif_log (data->priv->log, EXIF_LOG_CODE_CORRUPT_DATA, - "ExifData", "Bogus offset."); - return; + "ExifData", "Bogus offset of IFD1."); + } else { + exif_data_load_data_content (data, EXIF_IFD_1, d + 6, ds - 6, offset, 0); } - - exif_data_load_data_content (data, EXIF_IFD_1, d + 6, ds - 6, offset, 0); } /* |
From: Jan P. <pa...@us...> - 2007-05-13 19:30:00
|
Update of /cvsroot/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv1532 Modified Files: ChangeLog Log Message: Changes of last 3 days: * Added support of a new Pentax makernote type, plus another makernote type shared by Pentax & Casio * Updated several tags * Fixed some "security" sanity checks for broken entries Index: ChangeLog =================================================================== RCS file: /cvsroot/libexif/libexif/ChangeLog,v retrieving revision 1.242 retrieving revision 1.243 diff -u -p -d -r1.242 -r1.243 --- ChangeLog 10 May 2007 17:03:15 -0000 1.242 +++ ChangeLog 13 May 2007 19:29:57 -0000 1.243 @@ -1,3 +1,10 @@ +2007-05-13 Jan Patera <pa...@us...> + + * Added support of a new Pentax makernote type, plus another makernote + type shared by Pentax & Casio + * Updated several tags + * Fixed some "security" sanity checks for broken entries + 2007-05-09 Jan Patera <pa...@us...> * Added support for Olympus S760 & S770 makernote (bug #1703284) |
From: Jan P. <pa...@us...> - 2007-05-13 19:24:25
|
Update of /cvsroot/libexif/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv31279 Modified Files: exif-data.c exif-entry.c Log Message: 1) Added support of a new Pentax makernote type, plus another makernote type shared by Pentax & Casio 2) exif_entry_get_value now returns value of EXIF_TAG_SCENE_TYPE Index: exif-entry.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-entry.c,v retrieving revision 1.99 retrieving revision 1.100 diff -u -p -d -r1.99 -r1.100 --- exif-entry.c 11 May 2007 06:20:14 -0000 1.99 +++ exif-entry.c 13 May 2007 19:24:01 -0000 1.100 @@ -975,9 +975,12 @@ exif_entry_get_value (ExifEntry *e, char } /* Fall through - EXIF_TAG_GPS_LATITUDE is same as INTEROPERABILITY_VERSION */ default: - if (!e->components) break; + if (!e->size) break; switch (e->format) { case EXIF_FORMAT_UNDEFINED: + if ((e->tag == EXIF_TAG_SCENE_TYPE) && (e->size == 1)) { + snprintf (val, maxlen, "%i", e->data[0]); + } break; case EXIF_FORMAT_BYTE: case EXIF_FORMAT_SBYTE: Index: exif-data.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-data.c,v retrieving revision 1.92 retrieving revision 1.93 diff -u -p -d -r1.92 -r1.93 --- exif-data.c 11 May 2007 06:20:13 -0000 1.92 +++ exif-data.c 13 May 2007 19:24:01 -0000 1.93 @@ -654,7 +654,9 @@ typedef enum { EXIF_DATA_TYPE_MAKER_NOTE_NONE = 0, EXIF_DATA_TYPE_MAKER_NOTE_CANON = 1, EXIF_DATA_TYPE_MAKER_NOTE_OLYMPUS = 2, - EXIF_DATA_TYPE_MAKER_NOTE_PENTAX = 3 + EXIF_DATA_TYPE_MAKER_NOTE_PENTAX = 3, + EXIF_DATA_TYPE_MAKER_NOTE_NIKON = 4, + EXIF_DATA_TYPE_MAKER_NOTE_CASIO = 5 } ExifDataTypeMakerNote; static ExifDataTypeMakerNote @@ -688,10 +690,16 @@ exif_data_get_type_maker_note (ExifData if (!strncasecmp ( exif_entry_get_value (em, value, sizeof(value)), "Nikon", 5)) - return EXIF_DATA_TYPE_MAKER_NOTE_OLYMPUS; + return EXIF_DATA_TYPE_MAKER_NOTE_NIKON; else return EXIF_DATA_TYPE_MAKER_NOTE_PENTAX; } + if ((e->size >= 8) && !memcmp (e->data, "AOC", 4)) { + return EXIF_DATA_TYPE_MAKER_NOTE_PENTAX; + } + if ((e->size >= 8) && !memcmp (e->data, "QVC", 4)) { + return EXIF_DATA_TYPE_MAKER_NOTE_CASIO; + } return EXIF_DATA_TYPE_MAKER_NOTE_NONE; } @@ -849,9 +857,11 @@ exif_data_load_data (ExifData *data, con */ switch (exif_data_get_type_maker_note (data)) { case EXIF_DATA_TYPE_MAKER_NOTE_OLYMPUS: + case EXIF_DATA_TYPE_MAKER_NOTE_NIKON: data->priv->md = exif_mnote_data_olympus_new (data->priv->mem); break; case EXIF_DATA_TYPE_MAKER_NOTE_PENTAX: + case EXIF_DATA_TYPE_MAKER_NOTE_CASIO: data->priv->md = exif_mnote_data_pentax_new (data->priv->mem); break; case EXIF_DATA_TYPE_MAKER_NOTE_CANON: |
Update of /cvsroot/libexif/libexif/libexif/pentax In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv30628 Modified Files: exif-mnote-data-pentax.c exif-mnote-data-pentax.h mnote-pentax-entry.c mnote-pentax-tag.c mnote-pentax-tag.h Log Message: Added support of a new Pentax makernote type, plus another makernote type shared by Pentax & Casio Index: exif-mnote-data-pentax.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/pentax/exif-mnote-data-pentax.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -d -r1.3 -r1.4 --- exif-mnote-data-pentax.h 4 Oct 2004 06:26:59 -0000 1.3 +++ exif-mnote-data-pentax.h 13 May 2007 19:21:47 -0000 1.4 @@ -27,6 +27,8 @@ #include <libexif/pentax/mnote-pentax-entry.h> #include <libexif/exif-mem.h> +enum PentaxVersion {pentaxV1 = 1, pentaxV2 = 2, pentaxV3 = 4, casioV2 = 4 }; + typedef struct _ExifMnoteDataPentax ExifMnoteDataPentax; struct _ExifMnoteDataPentax { @@ -37,6 +39,8 @@ struct _ExifMnoteDataPentax { ExifByteOrder order; unsigned int offset; + + enum PentaxVersion version; }; ExifMnoteData *exif_mnote_data_pentax_new (ExifMem *); Index: mnote-pentax-tag.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/pentax/mnote-pentax-tag.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -d -r1.1 -r1.2 --- mnote-pentax-tag.h 26 Oct 2003 10:06:17 -0000 1.1 +++ mnote-pentax-tag.h 13 May 2007 19:21:47 -0000 1.2 @@ -60,6 +60,85 @@ enum _MnotePentaxTag { MNOTE_PENTAX_TAG_PRINTIM = 0x0e00, MNOTE_PENTAX_TAG_TZ_CITY = 0x1000, MNOTE_PENTAX_TAG_TZ_DST = 0x1001, + + /* Pentax v2, v3: real values + our proprietary base to distinguish from v1 */ + MNOTE_PENTAX2_TAG_BASE = 0x4000, + MNOTE_PENTAX2_TAG_MODE = 0x0001 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_PREVIEW_SIZE = 0x0002 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_PREVIEW_LENGTH = 0x0003 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_PREVIEW_START = 0x0004 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_MODEL_ID = 0x0005 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_DATE = 0x0006 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_TIME = 0x0007 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_QUALITY = 0x0008 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_IMAGE_SIZE = 0x0009 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_PICTURE_MODE = 0x000b + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_FLASH_MODE = 0x000c + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_FOCUS_MODE = 0x000d + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_AFPOINT_SELECTED = 0x000e + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_AUTO_AFPOINT = 0x000f + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_FOCUS_POSITION = 0x0010 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_EXPOSURE_TIME = 0x0012 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_FNUMBER = 0x0013 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_ISO = 0x0014 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_EXPOSURE_COMPENSATION = 0x0016 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_METERING_MODE = 0x0017 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_AUTO_BRACKETING = 0x0018 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_WHITE_BALANCE = 0x0019 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_WHITE_BALANCE_MODE= 0x001a + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_BLUE_BALANCE = 0x001b + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_RED_BALANCE = 0x001c + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_FOCAL_LENGTH = 0x001d + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_DIGITAL_ZOOM = 0x001e + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_SATURATION = 0x001f + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_CONTRAST = 0x0020 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_SHARPNESS = 0x0021 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_WORLDTIME_LOCATION = 0x0022 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_HOMETOWN_CITY = 0x0023 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_DESTINATION_CITY = 0x0024 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_HOMETOWN_DST = 0x0025 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_DESTINATION_DST = 0x0026 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_FRAME_NUMBER = 0x0029 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_IMAGE_PROCESSING = 0x0032 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_PICTURE_MODE2 = 0x0033 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_DRIVE_MODE = 0x0034 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_COLOR_SPACE = 0x0037 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_IMAGE_AREA_OFFSET = 0x0038 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_RAW_IMAGE_SIZE = 0x0039 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_AFPOINTS_USED = 0x003c + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_LENS_TYPE = 0x003f + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_CAMERA_TEMPERATURE = 0x0047 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_NOISE_REDUCTION = 0x0049 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_FLASH_EXPOSURE_COMP = 0x004d + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_IMAGE_TONE = 0x004f + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_SHAKE_REDUCTION_INFO = 0x005c + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_BLACK_POINT = 0x0200 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_WHITE_POINT = 0x0201 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_AE_INFO = 0x0206 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_LENS_INFO = 0x0207 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_FLASH_INFO = 0x0208 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_CAMERA_INFO = 0x0215 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_BATTERY_INFO = 0x0216 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_HOMETOWN_CITY_CODE = 0x1000 + MNOTE_PENTAX2_TAG_BASE, + MNOTE_PENTAX2_TAG_DESTINATION_CITY_CODE = 0x1001 + MNOTE_PENTAX2_TAG_BASE, + + /* Casio v2: some Casio v2 tags match Pentax v2 tags */ + MNOTE_CASIO2_TAG_BASE = MNOTE_PENTAX2_TAG_BASE, + MNOTE_CASIO2_TAG_PREVIEW_START = 0x2000 + MNOTE_CASIO2_TAG_BASE, + MNOTE_CASIO2_TAG_WHITE_BALANCE_BIAS = 0x2011 + MNOTE_CASIO2_TAG_BASE, + MNOTE_CASIO2_TAG_WHITE_BALANCE = 0x2012 + MNOTE_CASIO2_TAG_BASE, + MNOTE_CASIO2_TAG_OBJECT_DISTANCE = 0x2022 + MNOTE_CASIO2_TAG_BASE, + MNOTE_CASIO2_TAG_FLASH_DISTANCE = 0x2034 + MNOTE_CASIO2_TAG_BASE, + MNOTE_CASIO2_TAG_RECORD_MODE = 0x3000 + MNOTE_CASIO2_TAG_BASE, + MNOTE_CASIO2_TAG_SELF_TIMER = 0x3001 + MNOTE_CASIO2_TAG_BASE, + MNOTE_CASIO2_TAG_QUALITY = 0x3002 + MNOTE_CASIO2_TAG_BASE, + MNOTE_CASIO2_TAG_FOCUS_MODE = 0x3003 + MNOTE_CASIO2_TAG_BASE, + MNOTE_CASIO2_TAG_TIME_ZONE = 0x3006 + MNOTE_CASIO2_TAG_BASE, + MNOTE_CASIO2_TAG_BESTSHOT_MODE = 0x3007 + MNOTE_CASIO2_TAG_BASE, + MNOTE_CASIO2_TAG_CCS_ISO_SENSITIVITY = 0x3014 + MNOTE_CASIO2_TAG_BASE, + MNOTE_CASIO2_TAG_COLOR_MODE = 0x3015 + MNOTE_CASIO2_TAG_BASE, + MNOTE_CASIO2_TAG_ENHANCEMENT = 0x3016 + MNOTE_CASIO2_TAG_BASE, + MNOTE_CASIO2_TAG_FINER = 0x3017 + MNOTE_CASIO2_TAG_BASE }; typedef enum _MnotePentaxTag MnotePentaxTag; Index: mnote-pentax-tag.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/pentax/mnote-pentax-tag.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -p -d -r1.6 -r1.7 --- mnote-pentax-tag.c 11 May 2007 06:26:02 -0000 1.6 +++ mnote-pentax-tag.c 13 May 2007 19:21:47 -0000 1.7 @@ -52,12 +52,24 @@ static struct { {MNOTE_PENTAX_TAG_UNKNOWN_19, NULL, NULL, NULL}, {MNOTE_PENTAX_TAG_ISO_SPEED, "ISOSpeed", N_("ISOSpeed"), ""}, {MNOTE_PENTAX_TAG_UNKNOWN_21, NULL, NULL, NULL}, - {MNOTE_PENTAX_TAG_COLOR, "Color", N_("Color"), ""}, + {MNOTE_PENTAX_TAG_COLOR, "Color", N_("Colors"), ""}, {MNOTE_PENTAX_TAG_UNKNOWN_24, NULL, NULL, NULL}, {MNOTE_PENTAX_TAG_UNKNOWN_25, NULL, NULL, NULL}, {MNOTE_PENTAX_TAG_PRINTIM, "PrintIM", N_("PrintIM Settings"), ""}, - {MNOTE_PENTAX_TAG_TZ_CITY, "TimeZone", N_("TimeZone"), ""}, - {MNOTE_PENTAX_TAG_TZ_DST, "DaylightSavings", N_("DaylightSavings"), ""}, + {MNOTE_PENTAX_TAG_TZ_CITY, "TimeZone", N_("Time Zone"), ""}, + {MNOTE_PENTAX_TAG_TZ_DST, "DaylightSavings", N_("Daylight Savings"), ""}, + {MNOTE_PENTAX2_TAG_MODE, "Mode", N_("Capture Mode"), ""}, + {MNOTE_PENTAX2_TAG_QUALITY, "Quality", N_("Quality Level"), ""}, + {MNOTE_PENTAX2_TAG_IMAGE_SIZE, "ImageSize", N_("Image Size"), ""}, + {MNOTE_PENTAX2_TAG_PICTURE_MODE, "PictureMode", N_("PictureMode"), ""}, + {MNOTE_PENTAX2_TAG_FLASH_MODE, "FlashMode", N_("Flash Mode"), ""}, + {MNOTE_PENTAX2_TAG_FOCUS_MODE, "FocusMode", N_("Focus Mode"), ""}, + {MNOTE_PENTAX2_TAG_AFPOINT_SELECTED, "AFPointSelected", N_("AF Point Selected"), ""}, + {MNOTE_PENTAX2_TAG_AUTO_AFPOINT, "AutoAFPoint", N_("Auto AF Point"), ""}, + {MNOTE_PENTAX2_TAG_WHITE_BALANCE, "WhiteBalance", N_("White Balance"), ""}, + {MNOTE_CASIO2_TAG_OBJECT_DISTANCE, "ObjectDistance", N_("Object Distance"), N_("Distance of photographed object in millimeters.")}, + {MNOTE_CASIO2_TAG_TIME_ZONE, "TimeZone", N_("Time Zone"), ""}, + {MNOTE_CASIO2_TAG_BESTSHOT_MODE, "BestshotMode", N_("Bestshot mode"), ""}, {0, NULL, NULL, NULL} }; Index: exif-mnote-data-pentax.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/pentax/exif-mnote-data-pentax.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -p -d -r1.10 -r1.11 --- exif-mnote-data-pentax.c 9 Mar 2005 20:49:30 -0000 1.10 +++ exif-mnote-data-pentax.c 13 May 2007 19:21:47 -0000 1.11 @@ -73,41 +73,61 @@ exif_mnote_data_pentax_load (ExifMnoteDa const unsigned char *buf, unsigned int buf_size) { ExifMnoteDataPentax *n = (ExifMnoteDataPentax *) en; - unsigned int i, o, s; + unsigned int i, o, s, datao = 6 + n->offset, base = 0; ExifShort c; /* Number of entries */ - if (buf_size < 2) return; - c = exif_get_short (buf + 6 + n->offset, n->order); + if (buf_size < datao + (4 + 2) + 2) return; + if (!memcmp(buf + datao, "AOC", 4)) { + if ((buf[datao + 4] == 'I') && (buf[datao + 5] == 'I')) { + n->version = pentaxV3; + n->order = EXIF_BYTE_ORDER_INTEL; + } else if ((buf[datao + 4] == 'M') && (buf[datao + 5] == 'M')) { + n->version = pentaxV3; + n->order = EXIF_BYTE_ORDER_MOTOROLA; + } else { + /* Uses Casio v2 tags */ + n->version = pentaxV2; + } + datao += 4 + 2; + base = MNOTE_PENTAX2_TAG_BASE; + } if (!memcmp(buf + datao, "QVC", 4)) { + n->version = casioV2; + base = MNOTE_CASIO2_TAG_BASE; + datao += 4 + 2; + } else { + n->version = pentaxV1; + } + c = exif_get_short (buf + datao, n->order); n->entries = exif_mem_alloc (en->mem, sizeof (MnotePentaxEntry) * c); if (!n->entries) return; for (i = 0; i < c; i++) { - o = 6 + 2 + n->offset + 12 * i; - if (o + 8 > buf_size) return; + o = datao + 2 + 12 * i; + if (o + 8 > buf_size) return; - n->count = i + 1; - n->entries[i].tag = exif_get_short (buf + o + 0, n->order); - n->entries[i].format = exif_get_short (buf + o + 2, n->order); - n->entries[i].components = exif_get_long (buf + o + 4, n->order); - n->entries[i].order = n->order; + n->count = i + 1; + n->entries[i].tag = exif_get_short (buf + o + 0, n->order) + base; + n->entries[i].format = exif_get_short (buf + o + 2, n->order); + n->entries[i].components = exif_get_long (buf + o + 4, n->order); + n->entries[i].order = n->order; - /* - * Size? If bigger than 4 bytes, the actual data is not - * in the entry but somewhere else (offset). - */ - s = exif_format_get_size (n->entries[i].format) * + /* + * Size? If bigger than 4 bytes, the actual data is not + * in the entry but somewhere else (offset). + */ + s = exif_format_get_size (n->entries[i].format) * n->entries[i].components; - if (!s) return; - o += 8; - if (s > 4) o = exif_get_long (buf + o, n->order) + 6; - if (o + s > buf_size) return; + if (!s) return; + o += 8; + if (s > 4) o = exif_get_long (buf + o, n->order) + 6; + if (o + s > buf_size) return; - /* Sanity check */ - n->entries[i].data = exif_mem_alloc (en->mem, sizeof (char) * s); - if (!n->entries[i].data) return; - n->entries[i].size = s; - memcpy (n->entries[i].data, buf + o, s); + /* Sanity check */ + n->entries[i].data = exif_mem_alloc (en->mem, s); + if (!n->entries[i].data) return; + n->entries[i].size = s; + memcpy (n->entries[i].data, buf + o, s); } } Index: mnote-pentax-entry.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/pentax/mnote-pentax-entry.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -p -d -r1.10 -r1.11 --- mnote-pentax-entry.c 11 May 2007 06:26:02 -0000 1.10 +++ mnote-pentax-entry.c 13 May 2007 19:21:47 -0000 1.11 @@ -34,24 +34,35 @@ #define CF(format,target,v,maxlen) \ { \ - if (format != target) { \ - snprintf (v, maxlen, \ - _("Invalid format '%s', " \ - "expected '%s'."), \ - exif_format_get_name (format), \ - exif_format_get_name (target)); \ - break; \ - } \ + if (format != target) { \ + snprintf (v, maxlen, \ + _("Invalid format '%s', " \ + "expected '%s'."), \ + exif_format_get_name (format), \ + exif_format_get_name (target)); \ + break; \ + } \ } #define CC(number,target,v,maxlen) \ { \ - if (number != target) { \ - snprintf (v, maxlen, \ - _("Invalid number of components (%i, " \ - "expected %i)."), (int) number, (int) target); \ - break; \ - } \ + if (number != target) { \ + snprintf (v, maxlen, \ + _("Invalid number of components (%i, " \ + "expected %i)."), (int) number, (int) target); \ + break; \ + } \ +} + +#define CC2(number,t1,t2,v,maxlen) \ +{ \ + if ((number != t1) && (number != t2)) { \ + snprintf (v, maxlen, \ + _("Invalid number of components (%i, " \ + "expected %i or %i)."), (int) number, \ + (int) t1, (int) t2); \ + break; \ + } \ } static struct { @@ -59,12 +70,13 @@ static struct { struct { int index; const char *string; - } elem[7]; + } elem[33]; } items[] = { { MNOTE_PENTAX_TAG_MODE, { {0, N_("Auto")}, {1, N_("Night-scene")}, {2, N_("Manual")}, + {4, N_("Multi-exposure")}, {0, NULL}}}, { MNOTE_PENTAX_TAG_QUALITY, { {0, N_("Good")}, @@ -114,6 +126,177 @@ static struct { {2, N_("Black & White")}, {3, N_("Sepia")}, {0, NULL}}}, + { MNOTE_PENTAX2_TAG_MODE, + { {0, N_("Auto")}, + {1, N_("Night-scene")}, + {2, N_("Manual")}, + {4, N_("Multi-exposure")}, + {0, NULL}}}, + { MNOTE_PENTAX2_TAG_QUALITY, + { {0, N_("Good")}, + {1, N_("Better")}, + {2, N_("Best")}, + {3, N_("TIFF")}, + {4, N_("RAW")}, + {0, NULL}}}, + { MNOTE_PENTAX2_TAG_IMAGE_SIZE, + { {0, "640x480"}, + {1, N_("Full")}, + {2, "1024x768"}, + {3, "1280x960"}, + {4, "1600x1200"}, + {5, "2048x1536"}, + {8, N_("2560x1920 or 2304x1728")}, + {9, "3072x2304"}, + {10, "3264x2448"}, + {19, "320x240"}, + {20, "2288x1712"}, + {21, "2592x1944"}, + {22, N_("2304x1728 or 2592x1944")}, + {23, "3056x2296"}, + {25, N_("2816x2212 or 2816x2112")}, + {27, "3648x2736"}, + {36, "3008x2008"}, + {0, NULL}}}, + { MNOTE_PENTAX2_TAG_PICTURE_MODE, + { {0, N_("Program")}, + {2, N_("Program AE")}, + {3, N_("Manual")}, + {5, N_("Portrait")}, + {6, N_("Landscape")}, + {8, N_("Sport")}, + {9, N_("Night Scene")}, + {11, N_("Soft")}, + {12, N_("Surf & Snow")}, + {13, N_("Sunset or Candlelight")}, + {14, N_("Autumn")}, + {15, N_("Macro")}, + {17, N_("Fireworks")}, + {18, N_("Text")}, + {19, N_("Panorama")}, + {30, N_("Self Portrait")}, + {31, N_("Illustrations")}, + {33, N_("Digital Filter")}, + {37, N_("Museum")}, + {38, N_("Food")}, + {40, N_("Green Mode")}, + {49, N_("Light Pet")}, + {50, N_("Dark Pet")}, + {51, N_("Medium Pet")}, + {53, N_("Underwater")}, + {54, N_("Candlelight")}, + {55, N_("Natural Skin Tone")}, + {56, N_("Synchro Sound Record")}, + {58, N_("Frame Composite")}, + {0, NULL}}}, + { MNOTE_PENTAX2_TAG_FLASH_MODE, + { {0x0000, N_("Auto, Did not fire")}, + {0x0001, N_("Off")}, + {0x0003, N_("Auto, Did not fire, Red-eye reduction")}, + {0x0100, N_("Auto, Fired")}, + {0x0102, N_("On")}, + {0x0103, N_("Auto, Fired, Red-eye reduction")}, + {0x0104, N_("On, Red-eye reduction")}, + {0x0105, N_("On, Wireless")}, + {0x0108, N_("On, Soft")}, + {0x0109, N_("On, Slow-sync")}, + {0x010a, N_("On, Slow-sync, Red-eye reduction")}, + {0x010b, N_("On, Trailing-curtain Sync")}, + {0, NULL}}}, + { MNOTE_PENTAX2_TAG_FOCUS_MODE, + { {0, N_("Normal")}, + {1, N_("Macro")}, + {2, N_("Infinity")}, + {3, N_("Manual")}, + {5, N_("Pan Focus")}, + {16, N_("AF-S")}, + {17, N_("AF-C")}, + {0, NULL}}}, + { MNOTE_PENTAX2_TAG_AFPOINT_SELECTED, + { {1, N_("Upper-left")}, + {2, N_("Top")}, + {3, N_("Upper-right")}, + {4, N_("Left")}, + {5, N_("Mid-left")}, + {6, N_("Center")}, + {7, N_("Mid-right")}, + {8, N_("Right")}, + {9, N_("Lower-left")}, + {10, N_("Bottom")}, + {11, N_("Lower-right")}, + {0xfffe, N_("Fixed Center")}, + {0xffff, N_("Auto")}, + {0, NULL}}}, + { MNOTE_PENTAX2_TAG_AUTO_AFPOINT, + { {0, N_("Multiple")}, + {1, N_("Top-left")}, + {2, N_("Top-center")}, + {3, N_("Top-right")}, + {4, N_("Left")}, + {5, N_("Center")}, + {6, N_("Right")}, + {7, N_("Bottom-left")}, + {8, N_("Bottom-center")}, + {9, N_("Bottom-right")}, + {0xffff, N_("None")}, + {0, NULL}}}, + { MNOTE_PENTAX2_TAG_WHITE_BALANCE, + { {0, N_("Auto")}, + {1, N_("Daylight")}, + {2, N_("Shade")}, + {3, N_("Fluorescent")}, + {4, N_("Tungsten")}, + {5, N_("Manual")}, + {6, N_("Daylight Fluorescent")}, + {7, N_("Daywhite Fluorescent")}, + {8, N_("White Fluorescent")}, + {9, N_("Flash")}, + {10, N_("Cloudy")}, + {0xfffe, N_("Unknown")}, + {0xffff, N_("User Selected")}, + {0, NULL}}}, + {MNOTE_CASIO2_TAG_BESTSHOT_MODE, + { {0, N_("Off")}, + {1, N_("On")}, + {0, NULL}}}, + {0, {{0, NULL}}} +}; + +/* Two-component values */ +static struct { + ExifTag tag; + struct { + int index1, index2; + const char *string; + } elem[39]; +} items2[] = { + { MNOTE_PENTAX2_TAG_IMAGE_SIZE, + { {0, 0, "2304x1728"}, + {4, 0, "1600x1200"}, + {5, 0, "2048x1536"}, + {8, 0, "2560x1920"}, + {36, 0, N_("3008x2008 or 3040x2024")}, + {37, 0, "3008x2000"}, + {35, 1, "2400x1600"}, + {32, 2, "960x480"}, + {33, 2, "1152x768"}, + {34, 2, "1536x1024"}, + {0, 0, NULL}}}, + { MNOTE_PENTAX2_TAG_PICTURE_MODE, + { {0, 0, N_("Auto")}, + {5, 0, N_("Portrait")}, + {53, 0, N_("Underwater")}, + {255, 0, N_("Digital Filter?")}, + {5, 1, N_("Portrait")}, + {9, 1, N_("Night Scene")}, + {13, 1, N_("Candlelight")}, + {15, 1, N_("Macro")}, + {53, 1, N_("Underwater")}, + {0, 2, N_("Program AE")}, + {5, 2, N_("Portrait")}, + {6, 2, N_("Landscape")}, + {0, 0, NULL}}}, + {0, {{0, 0, NULL}}} }; char * @@ -121,7 +304,7 @@ mnote_pentax_entry_get_value (MnotePenta char *val, unsigned int maxlen) { ExifLong vl; - ExifShort vs; + ExifShort vs, vs2; int i = 0, j = 0; if (!entry) return (NULL); @@ -140,26 +323,61 @@ mnote_pentax_entry_get_value (MnotePenta case MNOTE_PENTAX_TAG_SATURATION: case MNOTE_PENTAX_TAG_ISO_SPEED: case MNOTE_PENTAX_TAG_COLOR: + case MNOTE_PENTAX2_TAG_MODE: + case MNOTE_PENTAX2_TAG_QUALITY: + case MNOTE_PENTAX2_TAG_FLASH_MODE: + case MNOTE_PENTAX2_TAG_FOCUS_MODE: + case MNOTE_PENTAX2_TAG_AFPOINT_SELECTED: + case MNOTE_PENTAX2_TAG_AUTO_AFPOINT: + case MNOTE_PENTAX2_TAG_WHITE_BALANCE: + case MNOTE_PENTAX2_TAG_PICTURE_MODE: + case MNOTE_PENTAX2_TAG_IMAGE_SIZE: + case MNOTE_CASIO2_TAG_BESTSHOT_MODE: CF (entry->format, EXIF_FORMAT_SHORT, val, maxlen); - CC (entry->components, 1, val, maxlen); - vs = exif_get_short (entry->data, entry->order); + CC2 (entry->components, 1, 2, val, maxlen); + if (entry->components == 1) { + vs = exif_get_short (entry->data, entry->order); - /* search the tag */ - for (i = 0; (items[i].tag && items[i].tag != entry->tag); i++); - if (!items[i].tag) { - strncpy (val, "Internal error", maxlen); - break; - } + /* search the tag */ + for (i = 0; (items[i].tag && items[i].tag != entry->tag); i++); + if (!items[i].tag) { + strncpy (val, "Internal error", maxlen); + break; + } - /* find the value */ - for (j = 0; items[i].elem[j].string && + /* find the value */ + for (j = 0; items[i].elem[j].string && (items[i].elem[j].index < vs); j++); - if (items[i].elem[j].index != vs) { - snprintf (val, maxlen, - "Internal error (unknown value %i)", vs); - break; + if (items[i].elem[j].index != vs) { + snprintf (val, maxlen, + "Internal error (unknown value %i)", vs); + break; + } + strncpy (val, items[i].elem[j].string, maxlen); + } else { + /* Two-component values */ + CF (entry->format, EXIF_FORMAT_SHORT, val, maxlen); + CC2 (entry->components, 1, 2, val, maxlen); + vs = exif_get_short (entry->data, entry->order); + vs2 = exif_get_short (entry->data+2, entry->order) << 16; + + /* search the tag */ + for (i = 0; (items2[i].tag && items2[i].tag != entry->tag); i++); + if (!items2[i].tag) { + strncpy (val, "Internal error", maxlen); + break; + } + + /* find the value */ + for (j = 0; items2[i].elem[j].string && ((items2[i].elem[j].index2 < vs2) + || ((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); + break; + } + strncpy (val, items2[i].elem[j].string, maxlen); } - snprintf (val, maxlen, "%s", items[i].elem[j].string); break; case MNOTE_PENTAX_TAG_ZOOM: |
From: Hans U. N. <hu...@us...> - 2007-05-11 07:12:42
|
Update of /cvsroot/libexif/libexif-gtk/libexif-gtk In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv32019/libexif-gtk Added Files: libexif-gtk-uninstalled.pc.in Log Message: #1643242: need uninstalled.pc file for libexif-gtk --- NEW FILE: libexif-gtk-uninstalled.pc.in --- prefix= exec_prefix= libdir=${pcfiledir} includedir=${pc_top_builddir}/${pcfiledir} Name: libexif-gtk Description: GTK-widgets for libexif Requires: libexif Version: @VERSION@ Libs: ${pc_top_builddir}/${pcfiledir}/libexif-gtk.la Cflags: -I${pc_top_builddir}/${pcfiledir}/.. |
From: Hans U. N. <hu...@us...> - 2007-05-11 07:12:42
|
Update of /cvsroot/libexif/libexif-gtk In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv32019 Modified Files: NEWS configure.ac Log Message: #1643242: need uninstalled.pc file for libexif-gtk Index: NEWS =================================================================== RCS file: /cvsroot/libexif/libexif-gtk/NEWS,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -d -r1.1 -r1.2 --- NEWS 25 Jan 2002 13:43:45 -0000 1.1 +++ NEWS 11 May 2007 07:12:38 -0000 1.2 @@ -0,0 +1,3 @@ +New in 0.3.6: + * Bug fixes: + #1643242: need uninstalled.pc file for libexif-gtk Index: configure.ac =================================================================== RCS file: /cvsroot/libexif/libexif-gtk/configure.ac,v retrieving revision 1.4 retrieving revision 1.5 diff -u -p -d -r1.4 -r1.5 --- configure.ac 15 Aug 2005 20:48:15 -0000 1.4 +++ configure.ac 11 May 2007 07:12:38 -0000 1.5 @@ -127,6 +127,7 @@ AC_CONFIG_FILES([ Makefile libexif-gtk/Makefile libexif-gtk/libexif-gtk.pc + libexif-gtk/libexif-gtk-uninstalled.pc gtk-extensions/Makefile tests/Makefile m4m/Makefile |
From: Jan P. <pa...@us...> - 2007-05-11 06:26:12
|
Update of /cvsroot/libexif/libexif/libexif/pentax In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv8194 Modified Files: mnote-pentax-entry.c mnote-pentax-tag.c Log Message: 1) correct checks of size of entry's data: entry->size contains real size of entry->data, e.g. 0 if entry->data is NULL 2) return empty string instead of NULL when asked for description Index: mnote-pentax-tag.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/pentax/mnote-pentax-tag.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -p -d -r1.5 -r1.6 --- mnote-pentax-tag.c 17 Mar 2005 16:00:29 -0000 1.5 +++ mnote-pentax-tag.c 11 May 2007 06:26:02 -0000 1.6 @@ -31,33 +31,33 @@ static struct { const char *title; const char *description; } table[] = { - {MNOTE_PENTAX_TAG_MODE, "Mode", N_("Capture Mode"), NULL}, - {MNOTE_PENTAX_TAG_QUALITY, "Quality", N_("Quality Level"), NULL}, - {MNOTE_PENTAX_TAG_FOCUS, "Focus", N_("Focus Mode"), NULL}, - {MNOTE_PENTAX_TAG_FLASH, "Flash", N_("Flash Mode"), NULL}, + {MNOTE_PENTAX_TAG_MODE, "Mode", N_("Capture Mode"), ""}, + {MNOTE_PENTAX_TAG_QUALITY, "Quality", N_("Quality Level"), ""}, + {MNOTE_PENTAX_TAG_FOCUS, "Focus", N_("Focus Mode"), ""}, + {MNOTE_PENTAX_TAG_FLASH, "Flash", N_("Flash Mode"), ""}, {MNOTE_PENTAX_TAG_UNKNOWN_05, NULL, NULL, NULL}, {MNOTE_PENTAX_TAG_UNKNOWN_06, NULL, NULL, NULL}, - {MNOTE_PENTAX_TAG_WHITE_BALANCE, "WhiteBalance", N_("White Balance"), NULL}, + {MNOTE_PENTAX_TAG_WHITE_BALANCE, "WhiteBalance", N_("White Balance"), ""}, {MNOTE_PENTAX_TAG_UNKNOWN_08, NULL, NULL, NULL}, {MNOTE_PENTAX_TAG_UNKNOWN_09, NULL, NULL, NULL}, {MNOTE_PENTAX_TAG_ZOOM, "Zoom", N_("Zoom"), NULL}, - {MNOTE_PENTAX_TAG_SHARPNESS, "Sharpness", N_("Sharpness"), NULL}, - {MNOTE_PENTAX_TAG_CONTRAST, "Contrast", N_("Contrast"), NULL}, - {MNOTE_PENTAX_TAG_SATURATION, "Saturation", N_("Saturation"), NULL}, + {MNOTE_PENTAX_TAG_SHARPNESS, "Sharpness", N_("Sharpness"), ""}, + {MNOTE_PENTAX_TAG_CONTRAST, "Contrast", N_("Contrast"), ""}, + {MNOTE_PENTAX_TAG_SATURATION, "Saturation", N_("Saturation"), ""}, {MNOTE_PENTAX_TAG_UNKNOWN_14, NULL, NULL, NULL}, {MNOTE_PENTAX_TAG_UNKNOWN_15, NULL, NULL, NULL}, {MNOTE_PENTAX_TAG_UNKNOWN_16, NULL, NULL, NULL}, {MNOTE_PENTAX_TAG_UNKNOWN_17, NULL, NULL, NULL}, {MNOTE_PENTAX_TAG_UNKNOWN_18, NULL, NULL, NULL}, {MNOTE_PENTAX_TAG_UNKNOWN_19, NULL, NULL, NULL}, - {MNOTE_PENTAX_TAG_ISO_SPEED, "ISOSpeed", N_("ISOSpeed"), NULL}, + {MNOTE_PENTAX_TAG_ISO_SPEED, "ISOSpeed", N_("ISOSpeed"), ""}, {MNOTE_PENTAX_TAG_UNKNOWN_21, NULL, NULL, NULL}, - {MNOTE_PENTAX_TAG_COLOR, "Color", N_("Color"), NULL}, + {MNOTE_PENTAX_TAG_COLOR, "Color", N_("Color"), ""}, {MNOTE_PENTAX_TAG_UNKNOWN_24, NULL, NULL, NULL}, {MNOTE_PENTAX_TAG_UNKNOWN_25, NULL, NULL, NULL}, - {MNOTE_PENTAX_TAG_PRINTIM, "PrintIM", N_("PrintIM Settings"), NULL}, - {MNOTE_PENTAX_TAG_TZ_CITY, "TimeZone", N_("TimeZone"), NULL}, - {MNOTE_PENTAX_TAG_TZ_DST, "DaylightSavings", N_("DaylightSavings"), NULL}, + {MNOTE_PENTAX_TAG_PRINTIM, "PrintIM", N_("PrintIM Settings"), ""}, + {MNOTE_PENTAX_TAG_TZ_CITY, "TimeZone", N_("TimeZone"), ""}, + {MNOTE_PENTAX_TAG_TZ_DST, "DaylightSavings", N_("DaylightSavings"), ""}, {0, NULL, NULL, NULL} }; Index: mnote-pentax-entry.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/pentax/mnote-pentax-entry.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -p -d -r1.9 -r1.10 --- mnote-pentax-entry.c 5 May 2005 16:57:58 -0000 1.9 +++ mnote-pentax-entry.c 11 May 2007 06:26:02 -0000 1.10 @@ -177,17 +177,17 @@ mnote_pentax_entry_get_value (MnotePenta case MNOTE_PENTAX_TAG_TZ_CITY: CF (entry->format, EXIF_FORMAT_UNDEFINED, val, maxlen); CC (entry->components, 4, val, maxlen); - snprintf (val, entry->components, "%s", entry->data); + strncpy (val, (char*)entry->data, MIN(maxlen, entry->size)); break; case MNOTE_PENTAX_TAG_TZ_DST: CF (entry->format, EXIF_FORMAT_UNDEFINED, val, maxlen); CC (entry->components, 4, val, maxlen); - snprintf (val, entry->components, "%s", entry->data); + strncpy (val, (char*)entry->data, MIN(maxlen, entry->size)); break; default: switch (entry->format) { case EXIF_FORMAT_ASCII: - strncpy (val, (char *)entry->data, MIN(maxlen, entry->components)); + strncpy (val, (char *)entry->data, MIN(maxlen, entry->size)); break; case EXIF_FORMAT_SHORT: vs = exif_get_short (entry->data, entry->order); |
From: Jan P. <pa...@us...> - 2007-05-11 06:22:50
|
Update of /cvsroot/libexif/libexif/libexif/olympus In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv6607 Modified Files: exif-mnote-data-olympus.c mnote-olympus-entry.c mnote-olympus-tag.c Log Message: 1) correct checks of size of entry's data: entry->size contains real size of entry->data, e.g. 0 if entry->data is NULL 2) don't return title when asked for description 3) return empty string instead of NULL when asked for description Index: mnote-olympus-entry.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/olympus/mnote-olympus-entry.c,v retrieving revision 1.30 retrieving revision 1.31 diff -u -p -d -r1.30 -r1.31 --- mnote-olympus-entry.c 11 May 2007 02:54:40 -0000 1.30 +++ mnote-olympus-entry.c 11 May 2007 06:22:44 -0000 1.31 @@ -216,7 +216,7 @@ mnote_olympus_entry_get_value (MnoteOlym //vl = exif_get_long (entry->data , entry->order); //printf("-> 0x%04x\n",entry->data); //printf("-> 0x%s<\n",entry->data - 0); - memcpy(v, entry->data ,entry->components); + memcpy(v, entry->data, MIN(maxlen, entry->size)); //snprintf (v, maxlen, "%s<", ( entry->data - 9 ); break; case MNOTE_NIKON_TAG_COLORMODE: @@ -230,13 +230,8 @@ mnote_olympus_entry_get_value (MnoteOlym case MNOTE_NIKON_TAG_IMAGEADJUSTMENT: case MNOTE_NIKON_TAG_ADAPTER: case MNOTE_NIKON_TAG_SATURATION2: - if (entry->data == NULL) { - *v = 0; - } - else { - CF (entry->format, EXIF_FORMAT_ASCII, v, maxlen); - memcpy(v, entry->data, MIN (maxlen, entry->components)); - } + CF (entry->format, EXIF_FORMAT_ASCII, v, maxlen); + memcpy(v, entry->data, MIN (maxlen, entry->size)); break; case MNOTE_NIKON_TAG_TOTALPICTURES: CF (entry->format, EXIF_FORMAT_LONG, v, maxlen); @@ -561,8 +556,7 @@ mnote_olympus_entry_get_value (MnoteOlym default: switch (entry->format) { case EXIF_FORMAT_ASCII: - strncpy (v, (char *)entry->data, - MIN (maxlen, entry->components)); + strncpy (v, (char *)entry->data, MIN (maxlen, entry->size)); break; case EXIF_FORMAT_SHORT: vs = exif_get_short (entry->data, entry->order); Index: mnote-olympus-tag.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/olympus/mnote-olympus-tag.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -p -d -r1.11 -r1.12 --- mnote-olympus-tag.c 3 Oct 2006 14:44:27 -0000 1.11 +++ mnote-olympus-tag.c 11 May 2007 06:22:44 -0000 1.12 @@ -34,91 +34,91 @@ static struct { } table[] = { /* Nikon v2 */ - {MNOTE_NIKON_TAG_FIRMWARE, "Firmware", N_("Firmware Version"), NULL}, - {MNOTE_NIKON_TAG_ISO, "ISO", N_("ISO Setting"), NULL}, - {MNOTE_NIKON_TAG_COLORMODE1, "COLORMODE1", N_("Colormode (?)"), NULL}, - {MNOTE_NIKON_TAG_QUALITY, "QUALITY", N_("Quality"), NULL}, - {MNOTE_NIKON_TAG_WHITEBALANCE, "WHITEBALANCE", N_("Whitebalance"), NULL}, - {MNOTE_NIKON_TAG_SHARPENING, "SHARPENING", N_("Image Sharpening"), NULL}, - {MNOTE_NIKON_TAG_FOCUSMODE, "FOCUSMODE", N_("Focus Mode"), NULL}, - {MNOTE_NIKON_TAG_FLASHSETTING, "FLASHSETTING", N_("Flash Setting"), NULL}, - {MNOTE_NIKON_TAG_FLASHMODE, "FLASHMODE", N_("Flash Mode"), NULL}, - {MNOTE_NIKON_TAG_WHITEBALANCEFINE,"WHITEBALANCEFINE",N_("Whitebalance fine ajustment"), NULL}, - {MNOTE_NIKON_TAG_WHITEBALANCERB, "WHITEBALANCERB", N_("Whitebalance RB"), NULL}, + {MNOTE_NIKON_TAG_FIRMWARE, "Firmware", N_("Firmware Version"), ""}, + {MNOTE_NIKON_TAG_ISO, "ISO", N_("ISO Setting"), ""}, + {MNOTE_NIKON_TAG_COLORMODE1, "COLORMODE1", N_("Colormode (?)"), ""}, + {MNOTE_NIKON_TAG_QUALITY, "QUALITY", N_("Quality"), ""}, + {MNOTE_NIKON_TAG_WHITEBALANCE, "WHITEBALANCE", N_("Whitebalance"), ""}, + {MNOTE_NIKON_TAG_SHARPENING, "SHARPENING", N_("Image Sharpening"), ""}, + {MNOTE_NIKON_TAG_FOCUSMODE, "FOCUSMODE", N_("Focus Mode"), ""}, + {MNOTE_NIKON_TAG_FLASHSETTING, "FLASHSETTING", N_("Flash Setting"), ""}, + {MNOTE_NIKON_TAG_FLASHMODE, "FLASHMODE", N_("Flash Mode"), ""}, + {MNOTE_NIKON_TAG_WHITEBALANCEFINE,"WHITEBALANCEFINE",N_("Whitebalance fine ajustment"), ""}, + {MNOTE_NIKON_TAG_WHITEBALANCERB, "WHITEBALANCERB", N_("Whitebalance RB"), ""}, {MNOTE_NIKON_TAG_UNKNOWN_0X000D, NULL, NULL, NULL}, - {MNOTE_NIKON_TAG_ISOSELECTION, "ISOSELECTION", N_("Isoselection"), NULL}, - {MNOTE_NIKON_TAG_PREVIEWIMAGE, "PREVIEWIMAGE", N_("Preview Image"), NULL}, - {MNOTE_NIKON_TAG_EXPOSUREDIFF, "EXPOSUREDIFF", N_("Exposurediff ?"), NULL}, - {MNOTE_NIKON_TAG_FLASHEXPCOMPENSATION, "FLASHEXPCOMPENSATION", N_("Flash exposure compensation"), NULL}, - {MNOTE_NIKON_TAG_ISO2, "ISO", N_("ISO Setting"), NULL}, - {MNOTE_NIKON_TAG_IMAGEBOUNDARY, "IMAGEBOUNDARY", N_("Image Boundary"), NULL}, + {MNOTE_NIKON_TAG_ISOSELECTION, "ISOSELECTION", N_("Isoselection"), ""}, + {MNOTE_NIKON_TAG_PREVIEWIMAGE, "PREVIEWIMAGE", N_("Preview Image"), ""}, + {MNOTE_NIKON_TAG_EXPOSUREDIFF, "EXPOSUREDIFF", N_("Exposurediff ?"), ""}, + {MNOTE_NIKON_TAG_FLASHEXPCOMPENSATION, "FLASHEXPCOMPENSATION", N_("Flash exposure compensation"), ""}, + {MNOTE_NIKON_TAG_ISO2, "ISO", N_("ISO Setting"), ""}, + {MNOTE_NIKON_TAG_IMAGEBOUNDARY, "IMAGEBOUNDARY", N_("Image Boundary"), ""}, {MNOTE_NIKON_TAG_UNKNOWN_0X0017, NULL, NULL, NULL}, - {MNOTE_NIKON_TAG_FLASHEXPOSUREBRACKETVAL, "FLASHEXPOSUREBRACKETVAL", N_("Flash exposure bracket value"), NULL}, - {MNOTE_NIKON_TAG_EXPOSUREBRACKETVAL, "EXPOSUREBRACKETVAL", N_("Exposure bracket value"), NULL}, - {MNOTE_NIKON_TAG_IMAGEADJUSTMENT, "ImageAdjustment", N_("Image Adjustment"), NULL}, - {MNOTE_NIKON_TAG_TONECOMPENSATION, "TONECOMPENSATION", N_("Tonecompensation"), NULL}, - {MNOTE_NIKON_TAG_ADAPTER, "ADAPTER", N_("Adapter"), NULL}, - {MNOTE_NIKON_TAG_LENSTYPE, "LENSTYPE", N_("Lenstype"), NULL}, - {MNOTE_NIKON_TAG_LENS, "LENS", N_("Lens"), NULL}, - {MNOTE_NIKON_TAG_MANUALFOCUSDISTANCE, "MANUALFOCUSDISTANCE", N_("Manual Focus Distance"), NULL}, - {MNOTE_NIKON_TAG_DIGITALZOOM, "DigitalZoom", N_("Digital Zoom"), NULL}, - {MNOTE_NIKON_TAG_FLASHUSED, "FLASHUSED", N_("Flash used"), NULL}, - {MNOTE_NIKON_TAG_AFFOCUSPOSITION, "AFFOCUSPOSITION", N_("AF Focus position"), NULL}, - {MNOTE_NIKON_TAG_BRACKETING, "BRACKETING", N_("Bracketing"), NULL}, + {MNOTE_NIKON_TAG_FLASHEXPOSUREBRACKETVAL, "FLASHEXPOSUREBRACKETVAL", N_("Flash exposure bracket value"), ""}, + {MNOTE_NIKON_TAG_EXPOSUREBRACKETVAL, "EXPOSUREBRACKETVAL", N_("Exposure bracket value"), ""}, + {MNOTE_NIKON_TAG_IMAGEADJUSTMENT, "ImageAdjustment", N_("Image Adjustment"), ""}, + {MNOTE_NIKON_TAG_TONECOMPENSATION, "TONECOMPENSATION", N_("Tonecompensation"), ""}, + {MNOTE_NIKON_TAG_ADAPTER, "ADAPTER", N_("Adapter"), ""}, + {MNOTE_NIKON_TAG_LENSTYPE, "LENSTYPE", N_("Lenstype"), ""}, + {MNOTE_NIKON_TAG_LENS, "LENS", N_("Lens"), ""}, + {MNOTE_NIKON_TAG_MANUALFOCUSDISTANCE, "MANUALFOCUSDISTANCE", N_("Manual Focus Distance"), ""}, + {MNOTE_NIKON_TAG_DIGITALZOOM, "DigitalZoom", N_("Digital Zoom"), ""}, + {MNOTE_NIKON_TAG_FLASHUSED, "FLASHUSED", N_("Flash used"), ""}, + {MNOTE_NIKON_TAG_AFFOCUSPOSITION, "AFFOCUSPOSITION", N_("AF Focus position"), ""}, + {MNOTE_NIKON_TAG_BRACKETING, "BRACKETING", N_("Bracketing"), ""}, {MNOTE_NIKON_TAG_UNKNOWN_0X008A, NULL, NULL, NULL}, - {MNOTE_NIKON_TAG_LENS_FSTOPS, "LENSFSTOPS", N_("Lens F stops"), NULL}, - {MNOTE_NIKON_TAG_CURVE, "CURVE,", N_("Contrast curve"), NULL}, - {MNOTE_NIKON_TAG_COLORMODE, "COLORMODE,", N_("Colormode"), NULL}, - {MNOTE_NIKON_TAG_LIGHTTYPE, "LIGHTTYPE,", N_("Lighttype"), NULL}, + {MNOTE_NIKON_TAG_LENS_FSTOPS, "LENSFSTOPS", N_("Lens F stops"), ""}, + {MNOTE_NIKON_TAG_CURVE, "CURVE,", N_("Contrast curve"), ""}, + {MNOTE_NIKON_TAG_COLORMODE, "COLORMODE,", N_("Colormode"), ""}, + {MNOTE_NIKON_TAG_LIGHTTYPE, "LIGHTTYPE,", N_("Lighttype"), ""}, {MNOTE_NIKON_TAG_UNKNOWN_0X0091, NULL, NULL, NULL}, - {MNOTE_NIKON_TAG_HUE, "HUE", N_("Hue Adjustment"), NULL}, - {MNOTE_NIKON_TAG_SATURATION, "SATURATION", N_("Saturation"), NULL}, - {MNOTE_NIKON_TAG_NOISEREDUCTION, "NOISEREDUCTION,", N_("Noisereduction"), NULL}, + {MNOTE_NIKON_TAG_HUE, "HUE", N_("Hue Adjustment"), ""}, + {MNOTE_NIKON_TAG_SATURATION, "SATURATION", N_("Saturation"), ""}, + {MNOTE_NIKON_TAG_NOISEREDUCTION, "NOISEREDUCTION,", N_("Noisereduction"), ""}, {MNOTE_NIKON_TAG_UNKNOWN_0X0097, NULL, NULL, NULL}, {MNOTE_NIKON_TAG_UNKNOWN_0X0098, NULL, NULL, NULL}, - {MNOTE_NIKON_TAG_SENSORPIXELSIZE, "SENSORPIXELSIZE", N_("Sensor pixel size"), NULL}, + {MNOTE_NIKON_TAG_SENSORPIXELSIZE, "SENSORPIXELSIZE", N_("Sensor pixel size"), ""}, {MNOTE_NIKON_TAG_UNKNOWN_0X009B, NULL, NULL, NULL}, - {MNOTE_NIKON_TAG_SERIALNUMBER, "SERIALNUMBER", N_("Serial number"), NULL}, - {MNOTE_NIKON_TAG_IMAGE_DATASIZE, "IMAGEDATASIZE", N_("Image datasize"), NULL}, + {MNOTE_NIKON_TAG_SERIALNUMBER, "SERIALNUMBER", N_("Serial number"), ""}, + {MNOTE_NIKON_TAG_IMAGE_DATASIZE, "IMAGEDATASIZE", N_("Image datasize"), N_("Size of compressed image data in bytes.")}, {MNOTE_NIKON_TAG_UNKNOWN_0X00A3, NULL, NULL, NULL}, - {MNOTE_NIKON_TAG_TOTALPICTURES, "TOTALPICTURES,", N_("Total number of pictures taken"), NULL}, + {MNOTE_NIKON_TAG_TOTALPICTURES, "TOTALPICTURES,", N_("Total number of pictures taken"), ""}, {MNOTE_NIKON_TAG_UNKNOWN_0X00A8, NULL, NULL, NULL}, - {MNOTE_NIKON_TAG_OPTIMIZATION, "OPTIMIZATION,", N_("Optimize Image"), NULL}, - {MNOTE_NIKON_TAG_SATURATION, "SATURATION", N_("Saturation"), NULL}, - {MNOTE_NIKON_TAG_VARIPROGRAM, "VARIPROGRAM", N_("Vari Program"), NULL}, - {MNOTE_NIKON_TAG_CAPTUREEDITORDATA, "CAPTUREEDITORDATA", N_("Capture Editor Data"), NULL}, - {MNOTE_NIKON_TAG_CAPTUREEDITORVER, "CAPTUREEDITORVER", N_("Capture Editor Version"), NULL}, + {MNOTE_NIKON_TAG_OPTIMIZATION, "OPTIMIZATION,", N_("Optimize Image"), ""}, + {MNOTE_NIKON_TAG_SATURATION, "SATURATION", N_("Saturation"), ""}, + {MNOTE_NIKON_TAG_VARIPROGRAM, "VARIPROGRAM", N_("Vari Program"), ""}, + {MNOTE_NIKON_TAG_CAPTUREEDITORDATA, "CAPTUREEDITORDATA", N_("Capture Editor Data"), ""}, + {MNOTE_NIKON_TAG_CAPTUREEDITORVER, "CAPTUREEDITORVER", N_("Capture Editor Version"), ""}, {MNOTE_NIKON_TAG_UNKNOWN_0X0E0E, NULL, NULL, NULL}, {MNOTE_NIKON_TAG_UNKNOWN_0X0E10, NULL, NULL, NULL}, {MNOTE_NIKON1_TAG_UNKNOWN_0X0002, NULL, NULL, NULL}, - {MNOTE_NIKON1_TAG_QUALITY, "QUALITY", N_("Quality"), NULL}, - {MNOTE_NIKON1_TAG_COLORMODE, "COLORMODE,", N_("Colormode"), NULL}, - {MNOTE_NIKON1_TAG_IMAGEADJUSTMENT, "ImageAdjustment", N_("Image Adjustment"), NULL}, - {MNOTE_NIKON1_TAG_CCDSENSITIVITY, "CCDSensitivity", N_("CCD Sensitivity"), NULL}, - {MNOTE_NIKON1_TAG_WHITEBALANCE, "WhiteBalance", N_("Whitebalance"), NULL}, - {MNOTE_NIKON1_TAG_FOCUS, "Focus", N_("Focus"), NULL}, + {MNOTE_NIKON1_TAG_QUALITY, "QUALITY", N_("Quality"), ""}, + {MNOTE_NIKON1_TAG_COLORMODE, "COLORMODE,", N_("Colormode"), ""}, + {MNOTE_NIKON1_TAG_IMAGEADJUSTMENT, "ImageAdjustment", N_("Image Adjustment"), ""}, + {MNOTE_NIKON1_TAG_CCDSENSITIVITY, "CCDSensitivity", N_("CCD Sensitivity"), ""}, + {MNOTE_NIKON1_TAG_WHITEBALANCE, "WhiteBalance", N_("Whitebalance"), ""}, + {MNOTE_NIKON1_TAG_FOCUS, "Focus", N_("Focus"), ""}, {MNOTE_NIKON1_TAG_UNKNOWN_0X0009, NULL, NULL, NULL}, - {MNOTE_NIKON1_TAG_DIGITALZOOM, "DigitalZoom", N_("Digital Zoom"), NULL}, - {MNOTE_NIKON1_TAG_CONVERTER, "Converter", N_("Converter"), NULL}, + {MNOTE_NIKON1_TAG_DIGITALZOOM, "DigitalZoom", N_("Digital Zoom"), ""}, + {MNOTE_NIKON1_TAG_CONVERTER, "Converter", N_("Converter"), ""}, /* Olympus */ - {MNOTE_OLYMPUS_TAG_MODE, "Mode", N_("Speed/Sequence/Panorama direction"), NULL}, - {MNOTE_OLYMPUS_TAG_QUALITY, "Quality", N_("Quality"), NULL}, - {MNOTE_OLYMPUS_TAG_MACRO, "Macro", N_("Macro"), NULL}, + {MNOTE_OLYMPUS_TAG_MODE, "Mode", N_("Speed/Sequence/Panorama direction"), ""}, + {MNOTE_OLYMPUS_TAG_QUALITY, "Quality", N_("Quality"), ""}, + {MNOTE_OLYMPUS_TAG_MACRO, "Macro", N_("Macro"), ""}, {MNOTE_OLYMPUS_TAG_UNKNOWN_1, NULL, NULL, NULL}, - {MNOTE_OLYMPUS_TAG_DIGIZOOM, "DigiZoom", N_("Digital Zoom"), NULL}, + {MNOTE_OLYMPUS_TAG_DIGIZOOM, "DigiZoom", N_("Digital Zoom"), ""}, {MNOTE_OLYMPUS_TAG_UNKNOWN_2, NULL, NULL, NULL}, {MNOTE_OLYMPUS_TAG_UNKNOWN_3, NULL, NULL, NULL}, - {MNOTE_OLYMPUS_TAG_VERSION, "FirmwareVersion", N_("Firmware version"), NULL}, - {MNOTE_OLYMPUS_TAG_INFO, "Info", N_("Info"), NULL}, - {MNOTE_OLYMPUS_TAG_ID, "CameraID", N_("Camera ID"), NULL}, + {MNOTE_OLYMPUS_TAG_VERSION, "FirmwareVersion", N_("Firmware version"), ""}, + {MNOTE_OLYMPUS_TAG_INFO, "Info", N_("Info"), ""}, + {MNOTE_OLYMPUS_TAG_ID, "CameraID", N_("Camera ID"), ""}, {MNOTE_OLYMPUS_TAG_UNKNOWN_4, NULL, NULL, NULL}, - {MNOTE_OLYMPUS_TAG_FLASHMODE, "FlashMode", N_("Flash Mode"), NULL}, - {MNOTE_OLYMPUS_TAG_FOCUSDIST, "ManualFocusDistance", N_("Manual Focus Distance"), NULL}, - {MNOTE_OLYMPUS_TAG_SHARPNESS, "Sharpness", N_("Sharpness Setting"), NULL}, - {MNOTE_OLYMPUS_TAG_WBALANCE, "WhiteBalance", N_("White Balance Setting"), NULL}, - {MNOTE_OLYMPUS_TAG_CONTRAST, "Contrast", N_("Contrast Setting"), NULL}, - {MNOTE_OLYMPUS_TAG_MANFOCUS, "ManualFocus", N_("Manual Focus"), NULL}, + {MNOTE_OLYMPUS_TAG_FLASHMODE, "FlashMode", N_("Flash Mode"), ""}, + {MNOTE_OLYMPUS_TAG_FOCUSDIST, "ManualFocusDistance", N_("Manual Focus Distance"), ""}, + {MNOTE_OLYMPUS_TAG_SHARPNESS, "Sharpness", N_("Sharpness Setting"), ""}, + {MNOTE_OLYMPUS_TAG_WBALANCE, "WhiteBalance", N_("White Balance Setting"), ""}, + {MNOTE_OLYMPUS_TAG_CONTRAST, "Contrast", N_("Contrast Setting"), ""}, + {MNOTE_OLYMPUS_TAG_MANFOCUS, "ManualFocus", N_("Manual Focus"), ""}, {0, NULL, NULL, NULL} }; Index: exif-mnote-data-olympus.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/olympus/exif-mnote-data-olympus.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -p -d -r1.28 -r1.29 --- exif-mnote-data-olympus.c 8 May 2007 09:48:53 -0000 1.28 +++ exif-mnote-data-olympus.c 11 May 2007 06:22:44 -0000 1.29 @@ -401,7 +401,7 @@ exif_mnote_data_olympus_get_description if (!n) return NULL; if (i >= n->count) return NULL; - return mnote_olympus_tag_get_title (n->entries[i].tag); + return mnote_olympus_tag_get_description (n->entries[i].tag); } static void |
From: Jan P. <pa...@us...> - 2007-05-11 06:20:24
|
Update of /cvsroot/libexif/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv5772 Modified Files: exif-data.c exif-entry.c Log Message: 1) exif-entry.c: resolved clash of EXIF_TAG_GPS_LATITUDE & EXIF_TAG_INTEROPERABILITY_VERSIO 2) exif-data.c: fixed previous change of H. Figuiere Index: exif-entry.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-entry.c,v retrieving revision 1.98 retrieving revision 1.99 diff -u -p -d -r1.98 -r1.99 --- exif-entry.c 8 May 2007 16:45:27 -0000 1.98 +++ exif-entry.c 11 May 2007 06:20:14 -0000 1.99 @@ -969,9 +969,11 @@ exif_entry_get_value (ExifEntry *e, char strncpy (val, _(list[i].strings[j]), maxlen - 1); break; case EXIF_TAG_INTEROPERABILITY_VERSION: - CF (e, EXIF_FORMAT_UNDEFINED, val, maxlen); - strncpy (val, (char *) e->data, MIN (maxlen, e->size)); - break; + if (e->format == EXIF_FORMAT_UNDEFINED) { + strncpy (val, (char *) e->data, MIN (maxlen, e->size)); + break; + } + /* Fall through - EXIF_TAG_GPS_LATITUDE is same as INTEROPERABILITY_VERSION */ default: if (!e->components) break; switch (e->format) { Index: exif-data.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-data.c,v retrieving revision 1.91 retrieving revision 1.92 diff -u -p -d -r1.91 -r1.92 --- exif-data.c 11 May 2007 02:59:57 -0000 1.91 +++ exif-data.c 11 May 2007 06:20:13 -0000 1.92 @@ -193,7 +193,7 @@ exif_data_load_data_entry (ExifData *dat /* If this is the MakerNote, remember the offset */ if (entry->tag == EXIF_TAG_MAKER_NOTE) { - if (entry->data) { + if (!entry->data) { exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, "ExifData", "MakerNote found with NULL data"); |
From: Hubert F. <hfi...@us...> - 2007-05-11 03:00:14
|
Update of /cvsroot/libexif/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv26543/libexif Modified Files: exif-data.c Log Message: don't dereference NULL (CID 4) Index: exif-data.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-data.c,v retrieving revision 1.90 retrieving revision 1.91 diff -u -p -d -r1.90 -r1.91 --- exif-data.c 10 May 2007 14:32:01 -0000 1.90 +++ exif-data.c 11 May 2007 02:59:57 -0000 1.91 @@ -193,7 +193,13 @@ exif_data_load_data_entry (ExifData *dat /* If this is the MakerNote, remember the offset */ if (entry->tag == EXIF_TAG_MAKER_NOTE) { - if (entry->size > 6) exif_log (data->priv->log, + if (entry->data) { + exif_log (data->priv->log, + EXIF_LOG_CODE_DEBUG, "ExifData", + "MakerNote found with NULL data"); + } + else if (entry->size > 6) + exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, "ExifData", "MakerNote found (%02x %02x %02x %02x " "%02x %02x %02x...).", |
From: Hubert F. <hfi...@us...> - 2007-05-11 02:54:45
|
Update of /cvsroot/libexif/libexif/libexif/olympus In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv24480/libexif/olympus Modified Files: mnote-olympus-entry.c Log Message: dont derefernce NULL (CID 3) Index: mnote-olympus-entry.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/olympus/mnote-olympus-entry.c,v retrieving revision 1.29 retrieving revision 1.30 diff -u -p -d -r1.29 -r1.30 --- mnote-olympus-entry.c 8 May 2007 09:18:36 -0000 1.29 +++ mnote-olympus-entry.c 11 May 2007 02:54:40 -0000 1.30 @@ -180,7 +180,8 @@ mnote_olympus_entry_get_value (MnoteOlym memset (v, 0, maxlen); maxlen--; - if ((!entry->data) && (entry->components > 0)) return (v); + if ((!entry->data) && (entry->components > 0)) + return (v); switch (entry->tag) { @@ -229,8 +230,13 @@ mnote_olympus_entry_get_value (MnoteOlym case MNOTE_NIKON_TAG_IMAGEADJUSTMENT: case MNOTE_NIKON_TAG_ADAPTER: case MNOTE_NIKON_TAG_SATURATION2: - CF (entry->format, EXIF_FORMAT_ASCII, v, maxlen); - memcpy(v, entry->data, MIN (maxlen, entry->components)); + if (entry->data == NULL) { + *v = 0; + } + else { + CF (entry->format, EXIF_FORMAT_ASCII, v, maxlen); + memcpy(v, entry->data, MIN (maxlen, entry->components)); + } break; case MNOTE_NIKON_TAG_TOTALPICTURES: CF (entry->format, EXIF_FORMAT_LONG, v, maxlen); |
From: Hubert F. <hfi...@us...> - 2007-05-11 02:45:45
|
Update of /cvsroot/libexif/libexif/libexif/canon In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv20850/libexif/canon Modified Files: mnote-canon-entry.c Log Message: check NULL before dereferencing. (CID 5) Index: mnote-canon-entry.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/canon/mnote-canon-entry.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -p -d -r1.21 -r1.22 --- mnote-canon-entry.c 10 May 2007 16:50:20 -0000 1.21 +++ mnote-canon-entry.c 11 May 2007 02:45:41 -0000 1.22 @@ -450,10 +450,13 @@ mnote_canon_entry_get_value (const Mnote char buf[128]; ExifLong vl; ExifShort vs, n; - unsigned char *data = entry->data; + unsigned char *data; double d; - if (!entry) return NULL; + if (!entry) + return NULL; + + data = entry->data; memset (val, 0, maxlen); maxlen--; |
From: Hubert F. <hfi...@us...> - 2007-05-11 02:37:25
|
Update of /cvsroot/libexif/libexif/libexif In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv17337/libexif Modified Files: exif-mem.c Log Message: fix condition leading to dead code (CID 1) Index: exif-mem.c =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif-mem.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -p -d -r1.4 -r1.5 --- exif-mem.c 10 Nov 2004 18:53:39 -0000 1.4 +++ exif-mem.c 11 May 2007 02:37:21 -0000 1.5 @@ -33,7 +33,8 @@ exif_mem_new (ExifMemAllocFunc alloc_fun { ExifMem *mem; - if (!alloc_func || !realloc_func) return NULL; + if (!alloc_func && !realloc_func) + return NULL; mem = alloc_func ? alloc_func (sizeof (ExifMem)) : realloc_func (NULL, sizeof (ExifMem)); if (!mem) return NULL; |