* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#include "main.h"
#include "jpeg-parser.h"
+#include <config.h>
+
+#include "debug.h"
+
gboolean jpeg_segment_find(const guchar *data, guint size,
guchar app_marker, const gchar *magic, guint magic_len,
guint *seg_offset, guint *seg_length)
TIFF_BYTE_ORDER_MOTOROLA
};
-#define TIFF_TIFD_OFFSET_TAG 0
-#define TIFF_TIFD_OFFSET_FORMAT 2
-#define TIFF_TIFD_OFFSET_COUNT 4
-#define TIFF_TIFD_OFFSET_DATA 8
-#define TIFF_TIFD_SIZE 12
+enum {
+ TIFF_TIFD_OFFSET_TAG = 0,
+ TIFF_TIFD_OFFSET_FORMAT = 2,
+ TIFF_TIFD_OFFSET_COUNT = 4,
+ TIFF_TIFD_OFFSET_DATA = 8,
+ TIFF_TIFD_SIZE = 12
+};
if (bo == TIFF_BYTE_ORDER_INTEL)
return GUINT16_FROM_LE(align_buf);
- else
- return GUINT16_FROM_BE(align_buf);
+
+ return GUINT16_FROM_BE(align_buf);
}
guint32 tiff_byte_get_int32(const guchar *f, TiffByteOrder bo)
if (bo == TIFF_BYTE_ORDER_INTEL)
return GUINT32_FROM_LE(align_buf);
+
+ return GUINT32_FROM_BE(align_buf);
+}
+
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wunused-function"
+void tiff_byte_put_int16_unused(guchar *f, guint16 n, TiffByteOrder bo)
+{
+ guint16 align_buf;
+
+ if (bo == TIFF_BYTE_ORDER_INTEL)
+ {
+ align_buf = GUINT16_TO_LE(n);
+ }
else
- return GUINT32_FROM_BE(align_buf);
+ {
+ align_buf = GUINT16_TO_BE(n);
+ }
+
+ memcpy(f, &align_buf, sizeof(guint16));
}
-//void tiff_byte_put_int16(guchar *f, guint16 n, TiffByteOrder bo)
-//{
- //guint16 align_buf;
-
- //if (bo == TIFF_BYTE_ORDER_INTEL)
- //{
- //align_buf = GUINT16_TO_LE(n);
- //}
- //else
- //{
- //align_buf = GUINT16_TO_BE(n);
- //}
-
- //memcpy(f, &align_buf, sizeof(guint16));
-//}
-
-//void tiff_byte_put_int32(guchar *f, guint32 n, TiffByteOrder bo)
-//{
- //guint32 align_buf;
-
- //if (bo == TIFF_BYTE_ORDER_INTEL)
- //{
- //align_buf = GUINT32_TO_LE(n);
- //}
- //else
- //{
- //align_buf = GUINT32_TO_BE(n);
- //}
-
- //memcpy(f, &align_buf, sizeof(guint32));
-//}
+void tiff_byte_put_int32_unused(guchar *f, guint32 n, TiffByteOrder bo)
+{
+ guint32 align_buf;
+
+ if (bo == TIFF_BYTE_ORDER_INTEL)
+ {
+ align_buf = GUINT32_TO_LE(n);
+ }
+ else
+ {
+ align_buf = GUINT32_TO_BE(n);
+ }
+
+ memcpy(f, &align_buf, sizeof(guint32));
+}
+#pragma GCC diagnostic pop
gint tiff_directory_offset(const guchar *data, const guint len,
guint *offset, TiffByteOrder *bo)
}
static gint mpo_parse_Attributes_IFD_entry(const guchar *tiff, guint offset,
- guint UNUSED(size), TiffByteOrder bo,
+ guint, TiffByteOrder bo,
gpointer data)
{
guint tag;
if (jpeg_segment_find(data, size, JPEG_MARKER_APP2, "MPF\x00", 4, &seg_offset, &seg_size) && seg_size >16)
{
guint offset;
- guint next_offset;
+ guint next_offset = 0;
TiffByteOrder bo;
MPOData *mpo;
guint i;