summaryrefslogtreecommitdiff
path: root/src/jpeg-utils.cpp
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@users.sourceforge.net>2009-05-10 14:21:20 +0200
committerTomas Bzatek <tbzatek@users.sourceforge.net>2009-05-10 14:21:20 +0200
commit8a722d04938583dc3620de05fd52f0baecce9fbb (patch)
treedfee5472e5a88c450b8cc4abc71cc2a68d635e67 /src/jpeg-utils.cpp
parent3bca7e95f2b4ef351b89495afcb6d6230b5f7cd0 (diff)
downloadcataract-8a722d04938583dc3620de05fd52f0baecce9fbb.tar.xz
Consolidate data types
Diffstat (limited to 'src/jpeg-utils.cpp')
-rw-r--r--src/jpeg-utils.cpp124
1 files changed, 51 insertions, 73 deletions
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;