[gimp] plug-ins: various g_file_get_path() replaced by g_file_peek_path().
- From: Jehan <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] plug-ins: various g_file_get_path() replaced by g_file_peek_path().
- Date: Fri, 1 Oct 2021 16:47:42 +0000 (UTC)
commit 27dea4f7f7d4c201d8e883df2b0880c4a6bc9ebf
Author: Jehan <jehan girinstud io>
Date: Fri Oct 1 18:14:14 2021 +0200
plug-ins: various g_file_get_path() replaced by g_file_peek_path().
As explained in previous commits, the _peek_ call is advantageous
because:
- It is less bug-prone as we don't have to handle freeing the string. In
all the cases I changed, I even spotted at least 2 cases where we were
leaking a string (in file-mng, `temp_file_name` is never freed; and we
were also leaking in an error case of gfig).
- As a consequence of the previous point: simpler code with less lines.
- In local file cases, the _peek_ variant does not even need to allocate
an additional string.
- In other case, if we query several times the path, it is allocated
once and cached so it stays efficient.
- When possible, working on the GFile rather than on a path string may
be more robust. For instance I changed one g_unlink() into a
g_file_delete(). Actually most reading/writing should be done with the
GIO API when possible, but I didn't want to change too much code
logics on this commit.
plug-ins/common/file-jpegxl.c | 55 +++++++++---------------------------
plug-ins/common/file-mng.c | 14 ++-------
plug-ins/common/file-png.c | 10 ++-----
plug-ins/common/file-wmf.c | 15 ++--------
plug-ins/common/file-xmc.c | 15 ++--------
plug-ins/common/file-xpm.c | 17 ++---------
plug-ins/file-exr/file-exr.c | 5 +---
plug-ins/file-faxg3/faxg3.c | 5 +---
plug-ins/file-fits/fits.c | 14 ++-------
plug-ins/file-fli/fli-gimp.c | 15 ++--------
plug-ins/file-ico/ico-load.c | 10 ++-----
plug-ins/file-sgi/sgi.c | 10 ++-----
plug-ins/gfig/gfig.c | 9 ++----
plug-ins/imagemap/imap_preferences.c | 10 ++-----
plug-ins/screenshot/screenshot-osx.c | 8 ++----
15 files changed, 45 insertions(+), 167 deletions(-)
---
diff --git a/plug-ins/common/file-jpegxl.c b/plug-ins/common/file-jpegxl.c
index bb8568725a..16300607c3 100644
--- a/plug-ins/common/file-jpegxl.c
+++ b/plug-ins/common/file-jpegxl.c
@@ -193,9 +193,7 @@ load_image (GFile *file,
GimpRunMode runmode,
GError **error)
{
- gchar *filename = g_file_get_path (file);
-
- FILE *inputFile = g_fopen (filename, "rb");
+ FILE *inputFile = g_fopen (g_file_peek_path (file), "rb");
gsize inputFileSize;
gpointer memory;
@@ -220,8 +218,8 @@ load_image (GFile *file,
if (!inputFile)
{
g_set_error (error, G_FILE_ERROR, 0,
- "Cannot open file for read: %s\n", filename);
- g_free (filename);
+ "Cannot open file for read: %s\n",
+ g_file_peek_path (file));
return NULL;
}
@@ -232,9 +230,9 @@ load_image (GFile *file,
if (inputFileSize < 1)
{
g_set_error (error, G_FILE_ERROR, 0,
- "File too small: %s\n", filename);
+ "File too small: %s\n",
+ g_file_peek_path (file));
fclose (inputFile);
- g_free (filename);
return NULL;
}
@@ -242,11 +240,10 @@ load_image (GFile *file,
if (fread (memory, 1, inputFileSize, inputFile) != inputFileSize)
{
g_set_error (error, G_FILE_ERROR, 0,
- "Failed to read %zu bytes: %s\n", inputFileSize, filename);
+ "Failed to read %zu bytes: %s\n", inputFileSize,
+ g_file_peek_path (file));
fclose (inputFile);
g_free (memory);
-
- g_free (filename);
return NULL;
}
@@ -256,9 +253,9 @@ load_image (GFile *file,
if (signature != JXL_SIG_CODESTREAM && signature != JXL_SIG_CONTAINER)
{
g_set_error (error, G_FILE_ERROR, 0,
- "File %s is probably not in JXL format!\n", filename);
+ "File %s is probably not in JXL format!\n",
+ g_file_peek_path (file));
g_free (memory);
- g_free (filename);
return NULL;
}
@@ -268,7 +265,6 @@ load_image (GFile *file,
g_set_error (error, G_FILE_ERROR, 0,
"ERROR: JxlDecoderCreate failed");
g_free (memory);
- g_free (filename);
return NULL;
}
@@ -280,7 +276,6 @@ load_image (GFile *file,
JxlThreadParallelRunnerDestroy (runner);
JxlDecoderDestroy (decoder);
g_free (memory);
- g_free (filename);
return NULL;
}
@@ -291,7 +286,6 @@ load_image (GFile *file,
JxlThreadParallelRunnerDestroy (runner);
JxlDecoderDestroy (decoder);
g_free (memory);
- g_free (filename);
return NULL;
}
@@ -302,7 +296,6 @@ load_image (GFile *file,
JxlThreadParallelRunnerDestroy (runner);
JxlDecoderDestroy (decoder);
g_free (memory);
- g_free (filename);
return NULL;
}
@@ -314,7 +307,6 @@ load_image (GFile *file,
JxlThreadParallelRunnerDestroy (runner);
JxlDecoderDestroy (decoder);
g_free (memory);
- g_free (filename);
return NULL;
}
@@ -325,7 +317,6 @@ load_image (GFile *file,
JxlThreadParallelRunnerDestroy (runner);
JxlDecoderDestroy (decoder);
g_free (memory);
- g_free (filename);
return NULL;
}
@@ -337,7 +328,6 @@ load_image (GFile *file,
JxlThreadParallelRunnerDestroy (runner);
JxlDecoderDestroy (decoder);
g_free (memory);
- g_free (filename);
return NULL;
}
@@ -348,7 +338,6 @@ load_image (GFile *file,
JxlThreadParallelRunnerDestroy (runner);
JxlDecoderDestroy (decoder);
g_free (memory);
- g_free (filename);
return NULL;
}
@@ -360,7 +349,6 @@ load_image (GFile *file,
JxlThreadParallelRunnerDestroy (runner);
JxlDecoderDestroy (decoder);
g_free (memory);
- g_free (filename);
return NULL;
}
@@ -506,7 +494,6 @@ load_image (GFile *file,
JxlThreadParallelRunnerDestroy (runner);
JxlDecoderDestroy (decoder);
g_free (memory);
- g_free (filename);
return NULL;
}
@@ -522,7 +509,6 @@ load_image (GFile *file,
JxlThreadParallelRunnerDestroy (runner);
JxlDecoderDestroy (decoder);
g_free (memory);
- g_free (filename);
return NULL;
}
@@ -539,7 +525,6 @@ load_image (GFile *file,
JxlThreadParallelRunnerDestroy (runner);
JxlDecoderDestroy (decoder);
g_free (memory);
- g_free (filename);
return NULL;
}
@@ -600,7 +585,6 @@ load_image (GFile *file,
JxlThreadParallelRunnerDestroy (runner);
JxlDecoderDestroy (decoder);
g_free (memory);
- g_free (filename);
return image;
}
@@ -665,7 +649,6 @@ save_image (GFile *file,
GByteArray *compressed;
- gchar *filename;
FILE *outfile;
GeglBuffer *buffer;
GimpImageType drawable_type;
@@ -688,8 +671,7 @@ save_image (GFile *file,
gint speed = 7;
gboolean uses_original_profile = FALSE;
- filename = g_file_get_path (file);
- gimp_progress_init_printf ("Exporting '%s'.", filename);
+ gimp_progress_init_printf ("Exporting '%s'.", g_file_peek_path (file));
g_object_get (config,
"lossless", &lossless,
@@ -719,7 +701,6 @@ save_image (GFile *file,
{
g_printerr ("%s: error getting the profile space: %s\n",
G_STRFUNC, (*error)->message);
- g_free (filename);
return FALSE;
}
}
@@ -801,7 +782,6 @@ save_image (GFile *file,
{
g_object_unref (profile);
}
- g_free (filename);
return FALSE;
break;
}
@@ -832,7 +812,6 @@ save_image (GFile *file,
{
g_object_unref (profile);
}
- g_free (filename);
return FALSE;
}
@@ -848,7 +827,6 @@ save_image (GFile *file,
{
g_object_unref (profile);
}
- g_free (filename);
return FALSE;
}
@@ -864,7 +842,6 @@ save_image (GFile *file,
{
g_object_unref (profile);
}
- g_free (filename);
return FALSE;
}
@@ -885,7 +862,6 @@ save_image (GFile *file,
JxlThreadParallelRunnerDestroy (runner);
JxlEncoderDestroy (encoder);
g_free (picture_buffer);
- g_free (filename);
return FALSE;
}
}
@@ -905,7 +881,6 @@ save_image (GFile *file,
JxlThreadParallelRunnerDestroy (runner);
JxlEncoderDestroy (encoder);
g_free (picture_buffer);
- g_free (filename);
return FALSE;
}
}
@@ -939,7 +914,6 @@ save_image (GFile *file,
JxlThreadParallelRunnerDestroy (runner);
JxlEncoderDestroy (encoder);
g_free (picture_buffer);
- g_free (filename);
return FALSE;
}
@@ -967,7 +941,6 @@ save_image (GFile *file,
JxlThreadParallelRunnerDestroy (runner);
JxlEncoderDestroy (encoder);
g_free (picture_buffer);
- g_free (filename);
return FALSE;
}
}
@@ -984,17 +957,16 @@ save_image (GFile *file,
if (compressed->len > 0)
{
- outfile = g_fopen (filename, "wb");
+ outfile = g_fopen (g_file_peek_path (file), "wb");
if (!outfile)
{
g_set_error (error, G_FILE_ERROR, 0,
- "Could not open '%s' for writing!\n", filename);
- g_free (filename);
+ "Could not open '%s' for writing!\n",
+ g_file_peek_path (file));
g_byte_array_free (compressed, TRUE);
return FALSE;
}
- g_free (filename);
fwrite (compressed->data, 1, compressed->len, outfile);
fclose (outfile);
@@ -1007,7 +979,6 @@ save_image (GFile *file,
g_set_error (error, G_FILE_ERROR, 0,
"No data to write");
g_byte_array_free (compressed, TRUE);
- g_free (filename);
return FALSE;
}
diff --git a/plug-ins/common/file-mng.c b/plug-ins/common/file-mng.c
index f05925edb2..e052b47ef8 100644
--- a/plug-ins/common/file-mng.c
+++ b/plug-ins/common/file-mng.c
@@ -781,7 +781,6 @@ mng_save_image (GFile *file,
GObject *config,
GError **error)
{
- gchar *filename;
gboolean ret = FALSE;
gint rows, cols;
volatile gint i;
@@ -865,12 +864,8 @@ mng_save_image (GFile *file,
}
}
- filename = g_file_get_path (file);
-
userdata = g_new0 (struct mnglib_userdata_t, 1);
- userdata->fp = g_fopen (filename, "wb");
-
- g_free (filename);
+ userdata->fp = g_fopen (g_file_peek_path (file), "wb");
if (! userdata->fp)
{
@@ -1064,7 +1059,6 @@ mng_save_image (GFile *file,
gchar frame_mode;
int frame_delay;
GFile *temp_file;
- gchar *temp_file_name;
png_structp pp;
png_infop info;
FILE *infile, *outfile;
@@ -1220,9 +1214,7 @@ mng_save_image (GFile *file,
goto err3;
}
- temp_file_name = g_file_get_path (temp_file);
-
- if ((outfile = g_fopen (temp_file_name, "wb")) == NULL)
+ if ((outfile = g_fopen (g_file_peek_path (temp_file), "wb")) == NULL)
{
g_set_error (error, G_FILE_ERROR, g_file_error_from_errno (errno),
_("Could not open '%s' for writing: %s"),
@@ -1404,7 +1396,7 @@ mng_save_image (GFile *file,
fclose (outfile);
- infile = g_fopen (temp_file_name, "rb");
+ infile = g_fopen (g_file_peek_path (temp_file), "rb");
if (! infile)
{
diff --git a/plug-ins/common/file-png.c b/plug-ins/common/file-png.c
index 5260715d63..c885d11066 100644
--- a/plug-ins/common/file-png.c
+++ b/plug-ins/common/file-png.c
@@ -597,7 +597,6 @@ load_image (GFile *file,
GimpPrecision image_precision; /* Precision of image */
GimpImageType layer_type; /* Type of drawable/layer */
GimpColorProfile *profile = NULL; /* Color profile */
- gchar *filename;
gchar *profile_name = NULL; /* Profile's name */
gboolean linear = FALSE; /* Linear RGB */
FILE *fp; /* File pointer */
@@ -659,9 +658,7 @@ load_image (GFile *file,
gimp_progress_init_printf (_("Opening '%s'"),
gimp_file_get_utf8_name (file));
- filename = g_file_get_path (file);
- fp = g_fopen (filename, "rb");
- g_free (filename);
+ fp = g_fopen (g_file_peek_path (file), "rb");
if (fp == NULL)
{
@@ -1311,7 +1308,6 @@ save_image (GFile *file,
GimpColorProfile *profile = NULL; /* Color profile */
gboolean out_linear; /* Save linear RGB */
GeglBuffer *buffer; /* GEGL buffer for layer */
- gchar *filename;
const Babl *file_format = NULL; /* BABL format of file */
const gchar *encoding;
const Babl *space;
@@ -1499,9 +1495,7 @@ save_image (GFile *file,
gimp_progress_init_printf (_("Exporting '%s'"),
gimp_file_get_utf8_name (file));
- filename = g_file_get_path (file);
- fp = g_fopen (filename, "wb");
- g_free (filename);
+ fp = g_fopen (g_file_peek_path (file), "wb");
if (! fp)
{
diff --git a/plug-ins/common/file-wmf.c b/plug-ins/common/file-wmf.c
index ba1409ae7c..0670cdc8cb 100644
--- a/plug-ins/common/file-wmf.c
+++ b/plug-ins/common/file-wmf.c
@@ -330,7 +330,6 @@ static gboolean
load_wmf_size (GFile *file,
WmfLoadVals *vals)
{
- gchar *filename;
GMappedFile *mapped;
/* the bits we need to decode the WMF via libwmf2's GD layer */
wmf_error_t err;
@@ -344,9 +343,7 @@ load_wmf_size (GFile *file,
gboolean success = TRUE;
char* wmffontdirs[2] = { NULL, NULL };
- filename = g_file_get_path (file);
- mapped = g_mapped_file_new (filename, FALSE, NULL);
- g_free (filename);
+ mapped = g_mapped_file_new (g_file_peek_path (file), FALSE, NULL);
if (! mapped)
return FALSE;
@@ -798,7 +795,6 @@ wmf_get_pixbuf (GFile *file,
gint *width,
gint *height)
{
- gchar *filename;
GMappedFile *mapped;
guchar *pixels = NULL;
@@ -814,9 +810,7 @@ wmf_get_pixbuf (GFile *file,
gint *gd_pixels = NULL;
char* wmffontdirs[2] = { NULL, NULL };
- filename = g_file_get_path (file);
- mapped = g_mapped_file_new (filename, FALSE, NULL);
- g_free (filename);
+ mapped = g_mapped_file_new (g_file_peek_path (file), FALSE, NULL);
if (! mapped)
return NULL;
@@ -921,7 +915,6 @@ wmf_load_file (GFile *file,
guint *height,
GError **error)
{
- gchar *filename;
GMappedFile *mapped;
guchar *pixels = NULL;
@@ -937,9 +930,7 @@ wmf_load_file (GFile *file,
*width = *height = -1;
- filename = g_file_get_path (file);
- mapped = g_mapped_file_new (filename, FALSE, NULL);
- g_free (filename);
+ mapped = g_mapped_file_new (g_file_peek_path (file), FALSE, NULL);
if (! mapped)
return NULL;
diff --git a/plug-ins/common/file-xmc.c b/plug-ins/common/file-xmc.c
index c4900c820e..97fc49505e 100644
--- a/plug-ins/common/file-xmc.c
+++ b/plug-ins/common/file-xmc.c
@@ -631,7 +631,6 @@ static GimpImage *
load_image (GFile *file,
GError **error)
{
- gchar *filename;
FILE *fp;
GimpImage *image;
GimpLayer *layer;
@@ -652,9 +651,7 @@ load_image (GFile *file,
/* Open the file and check it is a valid X cursor */
- filename = g_file_get_path (file);
- fp = g_fopen (filename, "rb");
- g_free (filename);
+ fp = g_fopen (g_file_peek_path (file), "rb");
if (fp == NULL)
{
@@ -876,7 +873,6 @@ load_thumbnail (GFile *file,
guint32 diff; /* difference between thumb_size and current size */
guint32 min_diff = XCURSOR_IMAGE_MAX_SIZE; /* minimum value of diff */
guint32 type; /* chunk type */
- gchar *filename;
FILE *fp = NULL;
GimpImage *image = NULL;
GimpLayer *layer;
@@ -896,9 +892,7 @@ load_thumbnail (GFile *file,
*thumb_height = 0;
*thumb_num_layers = 0;
- filename = g_file_get_path (file);
- fp = g_fopen (filename, "rb");
- g_free (filename);
+ fp = g_fopen (g_file_peek_path (file), "rb");
if (! fp)
{
@@ -1330,7 +1324,6 @@ save_image (GFile *file,
GObject *config,
GError **error)
{
- gchar *filename;
FILE *fp; /* File pointer */
gboolean dimension_warn = FALSE; /* become TRUE if even one
* of the dimensions of the
@@ -1385,9 +1378,7 @@ save_image (GFile *file,
*/
DM_XMC ("Open the file pointer.\n");
- filename = g_file_get_path (file);
- fp = g_fopen (filename, "wb");
- g_free (filename);
+ fp = g_fopen (g_file_peek_path (file), "wb");
if (! fp)
{
diff --git a/plug-ins/common/file-xpm.c b/plug-ins/common/file-xpm.c
index 73d7d29b43..5f64661130 100644
--- a/plug-ins/common/file-xpm.c
+++ b/plug-ins/common/file-xpm.c
@@ -375,7 +375,6 @@ static GimpImage *
load_image (GFile *file,
GError **error)
{
- gchar *filename;
XpmImage xpm_image;
guchar *cmap;
GimpImage *image;
@@ -383,10 +382,8 @@ load_image (GFile *file,
gimp_progress_init_printf (_("Opening '%s'"),
gimp_file_get_utf8_name (file));
- filename = g_file_get_path (file);
-
/* read the raw file */
- switch (XpmReadFileToXpmImage (filename, &xpm_image, NULL))
+ switch (XpmReadFileToXpmImage (g_file_peek_path (file), &xpm_image, NULL))
{
case XpmSuccess:
break;
@@ -395,22 +392,17 @@ load_image (GFile *file,
g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
_("Error opening file '%s'"),
gimp_file_get_utf8_name (file));
- g_free (filename);
return NULL;
case XpmFileInvalid:
g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
"%s", _("XPM file invalid"));
- g_free (filename);
return NULL;
default:
- g_free (filename);
return NULL;
}
- g_free (filename);
-
cmap = parse_colors (&xpm_image);
image = gimp_image_new (xpm_image.width,
@@ -649,7 +641,6 @@ save_image (GFile *file,
gboolean alpha;
gboolean alpha_used = FALSE;
XpmColor *colormap;
- gchar *filename;
XpmImage *xpm_image;
guint *ibuff = NULL;
guchar *buf;
@@ -847,10 +838,8 @@ save_image (GFile *file,
xpm_image->colorTable = colormap;
xpm_image->data = ibuff;
- filename = g_file_get_path (file);
-
/* do the save */
- switch (XpmWriteFileFromXpmImage (filename, xpm_image, NULL))
+ switch (XpmWriteFileFromXpmImage (g_file_peek_path (file), xpm_image, NULL))
{
case XpmSuccess:
success = TRUE;
@@ -871,8 +860,6 @@ save_image (GFile *file,
break;
}
- g_free (filename);
-
g_object_unref (buffer);
g_free (ibuff);
diff --git a/plug-ins/file-exr/file-exr.c b/plug-ins/file-exr/file-exr.c
index 1bfe737486..ee06d0b547 100644
--- a/plug-ins/file-exr/file-exr.c
+++ b/plug-ins/file-exr/file-exr.c
@@ -161,7 +161,6 @@ load_image (GFile *file,
gboolean interactive,
GError **error)
{
- gchar *filename;
EXRLoader *loader;
gint width;
gint height;
@@ -188,9 +187,7 @@ load_image (GFile *file,
gimp_progress_init_printf (_("Opening '%s'"),
gimp_file_get_utf8_name (file));
- filename = g_file_get_path (file);
- loader = exr_loader_new (filename);
- g_free (filename);
+ loader = exr_loader_new (g_file_peek_path (file));
if (! loader)
{
diff --git a/plug-ins/file-faxg3/faxg3.c b/plug-ins/file-faxg3/faxg3.c
index a44a3ca117..44b0eff464 100644
--- a/plug-ins/file-faxg3/faxg3.c
+++ b/plug-ins/file-faxg3/faxg3.c
@@ -222,7 +222,6 @@ load_image (GFile *file,
int hibit;
struct g3_tree *p;
int nr_pels;
- gchar *filename;
int fd;
int color;
int i, rr, rsize;
@@ -248,9 +247,7 @@ load_image (GFile *file,
init_byte_tab (0, byte_tab);
- filename = g_file_get_path (file);
- fd = g_open (filename, O_RDONLY | _O_BINARY, 0);
- g_free (filename);
+ fd = g_open (g_file_peek_path (file), O_RDONLY | _O_BINARY, 0);
if (fd < 0)
{
diff --git a/plug-ins/file-fits/fits.c b/plug-ins/file-fits/fits.c
index f86208ae7f..4e7218af02 100644
--- a/plug-ins/file-fits/fits.c
+++ b/plug-ins/file-fits/fits.c
@@ -364,7 +364,6 @@ load_image (GFile *file,
guint picnum;
gint k, n_images, max_images, hdu_picnum;
gint compose;
- gchar *filename;
FILE *fp;
FitsFile *ifp;
FitsHduList *hdu;
@@ -374,9 +373,7 @@ load_image (GFile *file,
"compose", &compose_arg,
NULL);
- filename = g_file_get_path (file);
- fp = g_fopen (filename, "rb");
- g_free (filename);
+ fp = g_fopen (g_file_peek_path (file), "rb");
if (! fp)
{
@@ -388,9 +385,7 @@ load_image (GFile *file,
fclose (fp);
- filename = g_file_get_path (file);
- ifp = fits_open (filename, "r");
- g_free (filename);
+ ifp = fits_open (g_file_peek_path (file), "r");
if (! ifp)
{
@@ -479,7 +474,6 @@ save_image (GFile *file,
GimpDrawable *drawable,
GError **error)
{
- gchar *filename;
FitsFile *ofp;
GimpImageType drawable_type;
gint retval;
@@ -511,9 +505,7 @@ save_image (GFile *file,
gimp_file_get_utf8_name (file));
/* Open the output file. */
- filename = g_file_get_path (file);
- ofp = fits_open (filename, "w");
- g_free (filename);
+ ofp = fits_open (g_file_peek_path (file), "w");
if (! ofp)
{
diff --git a/plug-ins/file-fli/fli-gimp.c b/plug-ins/file-fli/fli-gimp.c
index 58f3530f9b..3565e75b56 100644
--- a/plug-ins/file-fli/fli-gimp.c
+++ b/plug-ins/file-fli/fli-gimp.c
@@ -444,15 +444,12 @@ get_info (GFile *file,
gint32 *frames,
GError **error)
{
- gchar *filename;
FILE *fp;
s_fli_header fli_header;
*width = 0; *height = 0; *frames = 0;
- filename = g_file_get_path (file);
- fp = g_fopen (filename ,"rb");
- g_free (filename);
+ fp = g_fopen (g_file_peek_path (file),"rb");
if (! fp)
{
@@ -480,7 +477,6 @@ load_image (GFile *file,
GObject *config,
GError **error)
{
- gchar *filename;
FILE *fp;
GeglBuffer *buffer;
GimpImage *image;
@@ -500,9 +496,7 @@ load_image (GFile *file,
gimp_progress_init_printf (_("Opening '%s'"),
gimp_file_get_utf8_name (file));
- filename = g_file_get_path (file);
- fp = g_fopen (filename ,"rb");
- g_free (filename);
+ fp = g_fopen (g_file_peek_path (file) ,"rb");
if (! fp)
{
@@ -641,7 +635,6 @@ save_image (GFile *file,
GObject *config,
GError **error)
{
- gchar *filename;
FILE *fp;
GList *framelist;
GList *iter;
@@ -776,9 +769,7 @@ save_image (GFile *file,
fli_header.aspect_y = 1; /* ... as GIMP supports it. */
fli_header.oframe1 = fli_header.oframe2 = 0; /* will be fixed during the write */
- filename = g_file_get_path (file);
- fp = g_fopen (filename , "wb");
- g_free (filename);
+ fp = g_fopen (g_file_peek_path (file) , "wb");
if (! fp)
{
diff --git a/plug-ins/file-ico/ico-load.c b/plug-ins/file-ico/ico-load.c
index 4695d8fdef..62d8fdce20 100644
--- a/plug-ins/file-ico/ico-load.c
+++ b/plug-ins/file-ico/ico-load.c
@@ -653,7 +653,6 @@ GimpImage *
ico_load_image (GFile *file,
GError **error)
{
- gchar *filename;
FILE *fp;
IcoLoadInfo *info;
gint max_width, max_height;
@@ -666,9 +665,7 @@ ico_load_image (GFile *file,
gimp_progress_init_printf (_("Opening '%s'"),
gimp_file_get_utf8_name (file));
- filename = g_file_get_path (file);
- fp = g_fopen (filename, "rb");
- g_free (filename);
+ fp = g_fopen (g_file_peek_path (file), "rb");
if (! fp)
{
@@ -734,7 +731,6 @@ ico_load_thumbnail_image (GFile *file,
gint *height,
GError **error)
{
- gchar *filename;
FILE *fp;
IcoLoadInfo *info;
GimpImage *image;
@@ -748,9 +744,7 @@ ico_load_thumbnail_image (GFile *file,
gimp_progress_init_printf (_("Opening thumbnail for '%s'"),
gimp_file_get_utf8_name (file));
- filename = g_file_get_path (file);
- fp = g_fopen (filename, "rb");
- g_free (filename);
+ fp = g_fopen (g_file_peek_path (file), "rb");
if (! fp)
{
diff --git a/plug-ins/file-sgi/sgi.c b/plug-ins/file-sgi/sgi.c
index bf8ac67b7a..2c5f96f25a 100644
--- a/plug-ins/file-sgi/sgi.c
+++ b/plug-ins/file-sgi/sgi.c
@@ -314,7 +314,6 @@ load_image (GFile *file,
tile_height, /* Height of tile in GIMP */
count, /* Count of rows to put in image */
bytes; /* Number of channels to use */
- gchar *filename;
sgi_t *sgip; /* File pointer */
GimpImage *image; /* Image */
GimpLayer *layer; /* Layer */
@@ -332,9 +331,7 @@ load_image (GFile *file,
gimp_progress_init_printf (_("Opening '%s'"),
gimp_file_get_utf8_name (file));
- filename = g_file_get_path (file);
- sgip = sgiOpen (filename, SGI_READ, 0, 0, 0, 0, 0);
- g_free (filename);
+ sgip = sgiOpen (g_file_peek_path (file), SGI_READ, 0, 0, 0, 0, 0);
if (! sgip)
{
@@ -593,7 +590,6 @@ save_image (GFile *file,
gint tile_height; /* Height of tile in GIMP */
gint count; /* Count of rows to put in image */
gint zsize; /* Number of channels in file */
- gchar *filename;
sgi_t *sgip; /* File pointer */
GeglBuffer *buffer; /* Buffer for layer */
const Babl *format;
@@ -649,10 +645,8 @@ save_image (GFile *file,
gimp_progress_init_printf (_("Exporting '%s'"),
gimp_file_get_utf8_name (file));
- filename = g_file_get_path (file);
- sgip = sgiOpen (filename, SGI_WRITE, compression, 1,
+ sgip = sgiOpen (g_file_peek_path (file), SGI_WRITE, compression, 1,
width, height, zsize);
- g_free (filename);
if (! sgip)
{
diff --git a/plug-ins/gfig/gfig.c b/plug-ins/gfig/gfig.c
index 3188254f35..f564533930 100644
--- a/plug-ins/gfig/gfig.c
+++ b/plug-ins/gfig/gfig.c
@@ -793,7 +793,6 @@ GFigObj *
gfig_load_from_parasite (void)
{
GFile *file;
- gchar *fname;
FILE *fp;
GimpParasite *parasite;
const gchar *parasite_data;
@@ -806,9 +805,8 @@ gfig_load_from_parasite (void)
return NULL;
file = gimp_temp_file ("gfigtmp");
- fname = g_file_get_path (file);
- fp = g_fopen (fname, "wb");
+ fp = g_fopen (g_file_peek_path (file), "wb");
if (! fp)
{
g_message (_("Error trying to open temporary file '%s' "
@@ -823,11 +821,10 @@ gfig_load_from_parasite (void)
gimp_parasite_free (parasite);
- gfig = gfig_load (fname, "(none)");
+ gfig = gfig_load (g_file_peek_path (file), "(none)");
- g_unlink (fname);
+ g_file_delete (file, NULL, NULL);
- g_free (fname);
g_object_unref (file);
return gfig;
diff --git a/plug-ins/imagemap/imap_preferences.c b/plug-ins/imagemap/imap_preferences.c
index 22942b94ec..b586c5ce71 100644
--- a/plug-ins/imagemap/imap_preferences.c
+++ b/plug-ins/imagemap/imap_preferences.c
@@ -170,13 +170,10 @@ preferences_load(PreferencesData_t *data)
FILE *in;
char buf[256];
GFile *file;
- gchar *filename;
file = gimp_directory_file ("imagemaprc", NULL);
- filename = g_file_get_path (file);
- in = g_fopen (filename, "rb");
- g_free (filename);
+ in = g_fopen (g_file_peek_path (file), "rb");
g_object_unref (file);
@@ -203,14 +200,11 @@ preferences_save(PreferencesData_t *data)
{
FILE *out;
GFile *file;
- gchar *filename;
ColorSelData_t *colors = &data->colors;
file = gimp_directory_file ("imagemaprc", NULL);
- filename = g_file_get_path (file);
- out = g_fopen(filename, "wb");
- g_free (filename);
+ out = g_fopen(g_file_peek_path (file), "wb");
if (out)
{
diff --git a/plug-ins/screenshot/screenshot-osx.c b/plug-ins/screenshot/screenshot-osx.c
index e587cff066..850bd12289 100644
--- a/plug-ins/screenshot/screenshot-osx.c
+++ b/plug-ins/screenshot/screenshot-osx.c
@@ -82,7 +82,6 @@ screenshot_osx_shoot (ScreenshotValues *shootvals,
const gchar *mode = " ";
const gchar *cursor = " ";
gchar *delay = NULL;
- gchar *filename;
GFile *tmpfile;
gchar *quoted;
gchar *command = NULL;
@@ -121,9 +120,8 @@ screenshot_osx_shoot (ScreenshotValues *shootvals,
delay = g_strdup_printf ("-T %i", shootvals->screenshot_delay);
- tmpfile = gimp_temp_file ("png");
- filename = g_file_get_path (tmpfile);
- quoted = g_shell_quote (filename);
+ tmpfile = gimp_temp_file ("png");
+ quoted = g_shell_quote (g_file_peek_path (tmpfile));
command = g_strjoin (" ",
"/usr/sbin/screencapture",
@@ -146,14 +144,12 @@ screenshot_osx_shoot (ScreenshotValues *shootvals,
gimp_image_set_file (*image, g_file_new_for_uri ("screenshot.png"));
g_file_delete (tmpfile, NULL, NULL);
- g_free (filename);
g_free (command);
return GIMP_PDB_SUCCESS;
}
g_free (command);
- g_free (filename);
return GIMP_PDB_EXECUTION_ERROR;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]