Remove commented out code.
[geeqie.git] / src / format_fuji.c
index 6eef366..b57babd 100644 (file)
@@ -1,6 +1,7 @@
 /*
- *  GQView
- *  (C) 2005 John Ellis
+ * Geeqie
+ * (C) 2005 John Ellis
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  *  Authors:
  *    Original version 2005 Lars Ellenberg, base on dcraw by David coffin.
@@ -14,6 +15,7 @@
 #  include "config.h"
 #endif
 
+#ifndef HAVE_EXIV2
 
 #include <stdio.h>
 #include <string.h>
@@ -23,6 +25,7 @@
 
 #include "intl.h"
 
+#include "main.h"
 #include "format_fuji.h"
 #include "format_raw.h"
 
@@ -36,8 +39,8 @@
  */
 
 
-gint format_fuji_raw(unsigned char *data, const guint len,
-                    guint *image_offset, guint *exif_offset)
+gboolean format_fuji_raw(guchar *data, const guint len,
+                        guint *image_offset, guint *exif_offset)
 {
        guint io;
        guint eo;
@@ -48,8 +51,9 @@ gint format_fuji_raw(unsigned char *data, const guint len,
                return FALSE;
                }
 
-       io = GUINT32_FROM_BE(*(guint32*)(data + 84));
-       eo = *image_offset + 12;
+       /* offset to jpeg is embedded at bytes 84-87 */
+       io = exif_byte_get_int32(data + 84, EXIF_BYTE_ORDER_MOTOROLA);
+       if (io + 4 > len) return FALSE;
 
        /* verify jpeg marker */
        if (memcmp(data + io, "\xff\xd8\xff\xe1", 4) != 0)
@@ -57,11 +61,12 @@ gint format_fuji_raw(unsigned char *data, const guint len,
                return FALSE;
                }
 
+       /* Exif is stored in the jpeg, so use the same offset */
+       eo=io;
+
        if (image_offset) *image_offset = io;
        if (exif_offset) *exif_offset = eo;
 
-       printf("raw Fuji format file\n");
-
        return TRUE;
 }
 
@@ -139,14 +144,6 @@ static ExifTextList FujiTagNoYes[]= {
        EXIF_TEXT_LIST_END
 };
 
-#if 0
-static ExifTextList FujiTag[]= {
-       { ,     "" },
-       { ,     "" },
-       EXIF_TEXT_LIST_END
-};
-#endif
-
 
 static ExifMarker FujiExifMarkersList[] = {
 { 0x1000,      EXIF_FORMAT_STRING, 8,          "Fuji.Quality",         "Quality",      NULL },
@@ -170,10 +167,10 @@ EXIF_MARKER_LIST_END
 
 
 
-gint format_fuji_makernote(ExifData *exif, unsigned char *tiff, guint offset,
-                          guint size, ExifByteOrder bo)
+gboolean format_fuji_makernote(ExifData *exif, guchar *tiff, guint offset,
+                              guint size, ExifByteOrder bo)
 {
-       unsigned char *data;
+       guchar *data;
        guint ifdstart;
 
        if (offset + 8 + 4 >= size) return FALSE;
@@ -198,3 +195,6 @@ gint format_fuji_makernote(ExifData *exif, unsigned char *tiff, guint offset,
        return TRUE;
 }
 
+#endif
+/* not HAVE_EXIV2 */
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */