head 1.2; access; symbols pkgsrc-2024Q1:1.1.0.6 pkgsrc-2024Q1-base:1.1 pkgsrc-2023Q4:1.1.0.4 pkgsrc-2023Q4-base:1.1 pkgsrc-2023Q3:1.1.0.2 pkgsrc-2023Q3-base:1.1; locks; strict; comment @// @; 1.2 date 2024.04.14.17.42.09; author adam; state dead; branches; next 1.1; commitid SDA1G0ZwAMb4z86F; 1.1 date 2023.07.01.22.14.58; author wiz; state Exp; branches; next ; commitid PMIOHB3dPVlEk9vE; desc @@ 1.2 log @gexiv2: updated to 0.14.2 gexiv2 0.14.2 - 24 Jul 2023 (stable) * Make compatible with exiv2 0.28 or later * Fix double free if creation of meta-data fails * Fix floating point compare in tests @ text @$NetBSD: patch-gexiv2_gexiv2-metadata-exif.cpp,v 1.1 2023/07/01 22:14:58 wiz Exp $ Fix build with exiv2 0.28.0. https://gitlab.gnome.org/GNOME/gexiv2/-/commit/06adc8fb70cb8c77c0cd364195d8251811106ef8 --- gexiv2/gexiv2-metadata-exif.cpp.orig 2023-05-06 08:50:03.000000000 +0000 +++ gexiv2/gexiv2-metadata-exif.cpp @@@@ -8,6 +8,8 @@@@ * SPDX-License-Identifier: GPL-2.0-or-later */ +#include + #include "gexiv2-metadata.h" #include "gexiv2-metadata-private.h" #include @@@@ -116,7 +118,7 @@@@ gchar* gexiv2_metadata_get_exif_tag_stri if (it != exif_data.end()) return g_strdup (it->toString ().c_str ()); } catch (Exiv2::Error& e) { - g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); + g_set_error_literal(error, g_quark_from_string("GExiv2"), static_cast(e.code()), e.what()); } return nullptr; @@@@ -146,7 +148,7 @@@@ gchar** gexiv2_metadata_get_exif_tag_mul return array; } } catch (Exiv2::Error& e) { - g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); + g_set_error_literal(error, g_quark_from_string("GExiv2"), static_cast(e.code()), e.what()); } array = g_new(gchar*, 1); @@@@ -187,7 +189,7 @@@@ gboolean gexiv2_metadata_set_exif_tag_mu } return TRUE; } catch (Exiv2::Error& e) { - g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); + g_set_error_literal(error, g_quark_from_string("GExiv2"), static_cast(e.code()), e.what()); } return FALSE; @@@@ -214,7 +216,7 @@@@ gchar* gexiv2_metadata_get_exif_tag_inte return g_strdup (os.str ().c_str ()); } } catch (Exiv2::Error& e) { - g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); + g_set_error_literal(error, g_quark_from_string("GExiv2"), static_cast(e.code()), e.what()); } return nullptr; @@@@ -232,7 +234,7 @@@@ gboolean gexiv2_metadata_set_exif_tag_st return TRUE; } catch (Exiv2::Error& e) { - g_set_error_literal (error, g_quark_from_string ("GExiv2"), e.code (), e.what ()); + g_set_error_literal(error, g_quark_from_string("GExiv2"), static_cast(e.code()), e.what()); } return FALSE; @@@@ -251,11 +253,15 @@@@ glong gexiv2_metadata_get_exif_tag_long Exiv2::ExifData::iterator it = exif_data.findKey(Exiv2::ExifKey(tag)); while (it != exif_data.end() && it->count() == 0) it++; - +#ifdef EXIV2_EXIFDATUM_HAS_TO_LONG if (it != exif_data.end()) return it->toLong (); +#else + if (it != exif_data.end()) + return static_cast(it->toInt64()); +#endif } catch (Exiv2::Error& e) { - g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); + g_set_error_literal(error, g_quark_from_string("GExiv2"), static_cast(e.code()), e.what()); } return 0; @@@@ -272,7 +278,7 @@@@ gboolean gexiv2_metadata_set_exif_tag_lo return TRUE; } catch (Exiv2::Error& e) { - g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); + g_set_error_literal(error, g_quark_from_string("GExiv2"), static_cast(e.code()), e.what()); } return FALSE; @@@@ -303,7 +309,7 @@@@ gboolean gexiv2_metadata_try_get_exif_ta return TRUE; } } catch (Exiv2::Error& e) { - g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); + g_set_error_literal(error, g_quark_from_string("GExiv2"), static_cast(e.code()), e.what()); } return FALSE; @@@@ -324,7 +330,7 @@@@ gboolean gexiv2_metadata_try_set_exif_ta return TRUE; } catch (Exiv2::Error& e) { - g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); + g_set_error_literal(error, g_quark_from_string("GExiv2"), static_cast(e.code()), e.what()); } return FALSE; @@@@ -413,7 +419,7 @@@@ const gchar* gexiv2_metadata_get_exif_ta Exiv2::ExifKey key(tag); return g_intern_string(key.tagLabel().c_str()); } catch (Exiv2::Error& e) { - g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); + g_set_error_literal(error, g_quark_from_string("GExiv2"), static_cast(e.code()), e.what()); } return NULL; @@@@ -427,7 +433,7 @@@@ const gchar* gexiv2_metadata_get_exif_ta Exiv2::ExifKey key(tag); return g_intern_string(key.tagDesc().c_str()); } catch (Exiv2::Error& e) { - g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); + g_set_error_literal(error, g_quark_from_string("GExiv2"), static_cast(e.code()), e.what()); } return NULL; @@@@ -441,7 +447,7 @@@@ const gchar* gexiv2_metadata_get_exif_ta Exiv2::ExifKey key(tag); return Exiv2::TypeInfo::typeName(key.defaultTypeId()); } catch (Exiv2::Error& e) { - g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); + g_set_error_literal(error, g_quark_from_string("GExiv2"), static_cast(e.code()), e.what()); } return NULL; @@@@ -455,7 +461,7 @@@@ gboolean gexiv2_metadata_exif_tag_suppor // Exif does not support multiple values, but still check if @@tag is valid const Exiv2::ExifKey key(tag); } catch (Exiv2::Error& e) { - g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); + g_set_error_literal(error, g_quark_from_string("GExiv2"), static_cast(e.code()), e.what()); } return FALSE; @@@@ -484,7 +490,7 @@@@ GBytes* gexiv2_metadata_get_exif_tag_raw } } } catch (Exiv2::Error& e) { - g_set_error_literal(error, g_quark_from_string ("GExiv2"), e.code(), e.what()); + g_set_error_literal(error, g_quark_from_string("GExiv2"), static_cast(e.code()), e.what()); } return nullptr; @@@@ -522,7 +528,7 @@@@ GBytes * gexiv2_metadata_get_exif_data ( return g_bytes_new_take (data, blob.size()); } catch (Exiv2::Error& e) { - g_set_error_literal(error, g_quark_from_string("GExiv2"), e.code(), e.what()); + g_set_error_literal(error, g_quark_from_string("GExiv2"), static_cast(e.code()), e.what()); } return nullptr; @ 1.1 log @gexiv2: fix build with exiv2 0.28.0 using upstream patches. @ text @d1 1 a1 1 $NetBSD$ @