From 8a722d04938583dc3620de05fd52f0baecce9fbb Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Sun, 10 May 2009 14:21:20 +0200 Subject: Consolidate data types --- src/jpeg-utils.cpp | 124 ++++++++++++++++++++++------------------------------- 1 file changed, 51 insertions(+), 73 deletions(-) (limited to 'src/jpeg-utils.cpp') diff --git a/src/jpeg-utils.cpp b/src/jpeg-utils.cpp index 275e859..af7e4bf 100644 --- a/src/jpeg-utils.cpp +++ b/src/jpeg-utils.cpp @@ -35,12 +35,11 @@ * get_exif: retrieve EXIF informations from a JPEG image */ int -get_exif (const char *filename, TExifData **exif_data) +get_exif (const gchar *filename, TExifData **exif_data) { TExifData *data; - data = (TExifData*) malloc (sizeof (TExifData)); - memset (data, 0, sizeof (TExifData)); + data = (TExifData*) g_malloc0 (sizeof (TExifData)); *exif_data = data; try @@ -60,9 +59,7 @@ get_exif (const char *filename, TExifData **exif_data) /* EXIF::Camera model */ try { - const char *val = exifData["Exif.Image.Model"].toString().c_str(); - if (val && strlen(val) > 0) - data->camera_model = strdup (val); + data->camera_model = g_strdup (exifData["Exif.Image.Model"].toString().c_str()); } catch (...) { } /* EXIF::DateTime */ @@ -71,12 +68,12 @@ get_exif (const char *filename, TExifData **exif_data) try { val = exifData["Exif.Photo.DateTimeOriginal"].toString().c_str(); } catch (...) { } - if ((! val) || (strlen(val) == 0)) + if ((! val) || (strlen (val) == 0)) try { val = exifData["Exif.Image.DateTime"].toString().c_str(); } catch (...) { } - if (val && strlen(val) > 0) { + if (val && strlen (val) > 0) { static struct tm tt; static char conv[1024]; @@ -84,8 +81,8 @@ get_exif (const char *filename, TExifData **exif_data) { tt.tm_year -= 1900; tt.tm_mon--; - if (strftime (&conv[0], sizeof(conv), "%c", &tt)) - data->datetime = strdup (&conv[0]); + if (strftime (&conv[0], sizeof (conv), "%c", &tt)) + data->datetime = g_strdup (&conv[0]); } } } catch (...) { } @@ -105,9 +102,9 @@ get_exif (const char *filename, TExifData **exif_data) try { long int val = exifData["Exif.Photo.Flash"].toLong(); if ((val > 0) && ((val & 1) == 1)) - data->flash = strdup ((char *) "Flash fired"); + data->flash = g_strdup ("Flash fired"); else - data->flash = strdup ((char *) "--"); + data->flash = g_strdup ("--"); } catch (...) { } /* EXIF::Focal length */ @@ -126,27 +123,27 @@ get_exif (const char *filename, TExifData **exif_data) /* EXIF::Software */ try { - data->exif_software = strdup (exifData["Exif.Image.Software"].toString().c_str()); + data->exif_software = g_strdup (exifData["Exif.Image.Software"].toString().c_str()); } catch (...) { } /* EXIF::Image description */ try { - data->exif_imgdesc = strdup (exifData["Exif.Image.ImageDescription"].toString().c_str()); + data->exif_imgdesc = g_strdup (exifData["Exif.Image.ImageDescription"].toString().c_str()); } catch (...) { } /* EXIF::Artist */ try { - data->exif_artist = strdup (exifData["Exif.Image.Artist"].toString().c_str()); + data->exif_artist = g_strdup (exifData["Exif.Image.Artist"].toString().c_str()); } catch (...) { } /* EXIF::Copyright */ try { - data->exif_copyright = strdup (exifData["Exif.Image.Copyright"].toString().c_str()); + data->exif_copyright = g_strdup (exifData["Exif.Image.Copyright"].toString().c_str()); } catch (...) { } /* EXIF::User comment */ try { - data->exif_usercomment = strdup (exifData["Exif.Photo.UserComment"].toString().c_str()); + data->exif_usercomment = g_strdup (exifData["Exif.Photo.UserComment"].toString().c_str()); } catch (...) { } } @@ -154,33 +151,33 @@ get_exif (const char *filename, TExifData **exif_data) if (! iptcData.empty()) { /* IPTC::Object name */ try { - data->iptc_objectname = strdup (iptcData["Iptc.Application2.ObjectName"].toString().c_str()); + data->iptc_objectname = g_strdup (iptcData["Iptc.Application2.ObjectName"].toString().c_str()); } catch (...) { } /* IPTC::Copyright */ try { - data->iptc_copyright = strdup (iptcData["Iptc.Application2.Copyright"].toString().c_str()); + data->iptc_copyright = g_strdup (iptcData["Iptc.Application2.Copyright"].toString().c_str()); } catch (...) { } /* IPTC::Credit */ try { - data->iptc_credit = strdup (iptcData["Iptc.Application2.Credit"].toString().c_str()); + data->iptc_credit = g_strdup (iptcData["Iptc.Application2.Credit"].toString().c_str()); } catch (...) { } /* IPTC::Caption */ try { - data->iptc_caption = strdup (iptcData["Iptc.Application2.Caption"].toString().c_str()); + data->iptc_caption = g_strdup (iptcData["Iptc.Application2.Caption"].toString().c_str()); } catch (...) { } /* IPTC::Author */ try { - data->iptc_author = strdup (iptcData["Iptc.Application2.Byline"].toString().c_str()); + data->iptc_author = g_strdup (iptcData["Iptc.Application2.Byline"].toString().c_str()); } catch (...) { } } /* JPEG::Comment */ try { - data->jpeg_comment = strdup (image->comment().c_str()); + data->jpeg_comment = g_strdup (image->comment().c_str()); } catch (...) { } } catch (Exiv2::AnyError& e) @@ -221,49 +218,30 @@ void free_exif_data (TExifData *data) { if (data) { - if (data->aperture) - free (data->aperture); - if (data->camera_model) - free (data->camera_model); - if (data->datetime) - free (data->datetime); - if (data->exposure) - free (data->exposure); - if (data->flash) - free (data->flash); - if (data->focal_length) - free (data->focal_length); - if (data->focal_length_35mm) - free (data->focal_length_35mm); - if (data->iso) - free (data->iso); - - if (data->exif_software) - free (data->exif_software); - if (data->exif_imgdesc) - free (data->exif_imgdesc); - if (data->exif_artist) - free (data->exif_artist); - if (data->exif_copyright) - free (data->exif_copyright); - if (data->exif_usercomment) - free (data->exif_usercomment); - - if (data->iptc_objectname) - free (data->iptc_objectname); - if (data->iptc_copyright) - free (data->iptc_copyright); - if (data->iptc_credit) - free (data->iptc_credit); - if (data->iptc_caption) - free (data->iptc_caption); - if (data->iptc_author) - free (data->iptc_author); - - if (data->jpeg_comment) - free (data->jpeg_comment); - - free (data); + g_free (data->aperture); + g_free (data->camera_model); + g_free (data->datetime); + g_free (data->exposure); + g_free (data->flash); + g_free (data->focal_length); + g_free (data->focal_length_35mm); + g_free (data->iso); + + g_free (data->exif_software); + g_free (data->exif_imgdesc); + g_free (data->exif_artist); + g_free (data->exif_copyright); + g_free (data->exif_usercomment); + + g_free (data->iptc_objectname); + g_free (data->iptc_copyright); + g_free (data->iptc_credit); + g_free (data->iptc_caption); + g_free (data->iptc_author); + + g_free (data->jpeg_comment); + + g_free (data); data = NULL; } } @@ -273,19 +251,19 @@ free_exif_data (TExifData *data) * resize_image: resize image pointed by src and save result to dst */ gboolean -resize_image (const char *src, const char *dst, +resize_image (const gchar *src, const gchar *dst, int size_x, int size_y, int quality, gboolean thumbnail) { #define ThrowWandException(wand) \ { \ - char *description; \ + gchar *description; \ ExceptionType severity; \ \ description = MagickGetException (wand, &severity); \ log_error ("Error converting image: %s %s %ld %s\n", GetMagickModule(), description); \ - description = (char*) MagickRelinquishMemory (description); \ + description = (gchar*) MagickRelinquishMemory (description); \ return FALSE; \ } @@ -317,17 +295,17 @@ resize_image (const char *src, const char *dst, * get_image_sizes: retrieve image dimensions */ void -get_image_sizes (const char *img, +get_image_sizes (const gchar *img, unsigned long *width, unsigned long *height) { #define xThrowWandException(wand) \ { \ - char *description; \ + gchar *description; \ ExceptionType severity; \ \ description = MagickGetException (wand, &severity); \ log_error ("Error reading image info: %s %s %ld %s\n", GetMagickModule(), description); \ - description = (char*) MagickRelinquishMemory(description); \ + description = (gchar*) MagickRelinquishMemory(description); \ return; \ } @@ -380,7 +358,7 @@ calculate_sizes (const unsigned long max_width, const unsigned long max_height, * - add copyright to Exif::Image::Copyright and Iptc::Application2::Copyright */ void -modify_exif (const char *filename, gboolean strip_thumbnail, const char *add_copyright) +modify_exif (const gchar *filename, gboolean strip_thumbnail, const gchar *add_copyright) { bool was_modified = false; -- cgit v1.2.3