This is a low-priority cleanup that may be objectionable, so I'll post
here first.
According to the g_free documentation, g_free accepts a NULL argument
(as a no-op), yet much code explicitly checks for NULL before calling
g_free.
Disadvantage of the transformation:
- Involves a function call even in the NULL case (unless g_free is a
macro or inline function that tests for NULL before passing to the
"real" version). I've left a couple of places untransformed where
it looks like NULL has a significant probability. If NULL is unlikely,
then we're better off having more readable code [and saving a couple
of bytes of object code].
- May make diff3 against sodipodi code harder.
Strong candidates for applying the transformation are where the tested
pointer is something long like `style->text->font_family.value', and
src/module.c where it uses a IF_NOT_NULL_FREE macro.
Btw, some (but not all) of the searching for this pattern was using a
regexp to reduce the probability of accidentally transforming `if (foo)
g_free (bar)' for distinct `foo' and `bar'.
Any comments on where this transformation (removing the `if') should be
applied? In absence of comments, I'll probably commit the patch in its
current form (other than ChangeLog date).
pjrm.
Index: ChangeLog
===================================================================
RCS file: /cvsroot/inkscape/inkscape/ChangeLog,v
retrieving revision 1.56
diff -d -p -U5 -r1.56 ChangeLog
--- ChangeLog 29 Nov 2003 09:20:28 -0000 1.56
+++ ChangeLog 30 Nov 2003 03:34:38 -0000
@@ -7,10 +7,33 @@
Make utest.c,utest.h formatting conform more to doc/coding-style.txt.
Have utest.c built into libutest.a (see src/utest/Makefile.am
comments).
+ * src/document.c (sp_document_new), file.c (file_open_ok,
+ sp_file_open_dialog, sp_file_save_dialog, sp_file_do_import),
+ main.c (sp_main_console), src/module.c (sp_module_finalize,
+ sp_module_input_finalize, sp_module_input_build,
+ sp_module_output_finalize, sp_module_output_build),
+ src/sp-anchor.c (sp_anchor_set), src/sp-image.c (sp_image_set),
+ src/sp-text.c (sp_string_release, sp_string_read_content,
+ sp_string_set_shape), src/sp-use.c (sp_use_release), src/style.c
+ (sp_style_unref, sp_style_merge_property,
+ sp_style_merge_from_parent, sp_text_style_unref,
+ sp_style_read_istring), src/bonobo/embeddable-document.c
+ (sp_bonobo_stream_read, sp_embeddable_document_ps_save),
+ src/dialogs/stroke-style.c (sp_stroke_style_scale_line),
+ src/dialogs/text-edit.c (sp_text_edit_dialog_text_changed),
+ src/helper/sodipodi-ctrl.c (sp_ctrl_build_cache),
+ src/modules/ps.c (sp_ps_print_image),
+ src/widgets/font-selector.c (sp_font_preview_set_phrase),
+ src/widgets/gradient-image.c (sp_gradient_image_size_allocate),
+ src/xml/repr-action.c (coalesce_chgattr, coalesce_chgcontent,
+ free_action), src/xml/repr.c (repr_finalize, sp_repr_merge):
+ Minor cleanup: replace `if (POINTER_EXPR) g_free (POINTER_EXPR)'
+ with the simpler (more readable) `g_free (POINTER_EXPR)'.
+
* src/xml/repr-action.c (reverse_log): Add doc comment. Rename some vars.
* src/xml/repr-action.c (sp_repr_replay_log, sp_repr_undo_log),
src/xml/repr-action.h, src/document-undo.c (sp_document_cancel,
sp_document_redo, sp_document_undo): Remove the unused doc
Index: src/document.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/document.c,v
retrieving revision 1.9
diff -d -p -U5 -r1.9 document.c
--- src/document.c 29 Nov 2003 21:55:57 -0000 1.9
+++ src/document.c 30 Nov 2003 03:34:38 -0000
@@ -334,12 +334,12 @@ sp_document_new (const gchar *uri, unsig
name = g_strdup_printf (_("New document %d"), ++doc_count);
}
doc = sp_document_create (rdoc, uri, base, name, advertize, keepalive);
- if (base) g_free (base);
- if (name) g_free (name);
+ g_free (base);
+ g_free (name);
return doc;
}
SPDocument *
Index: src/file.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/file.c,v
retrieving revision 1.10
diff -d -p -U5 -r1.10 file.c
--- src/file.c 30 Nov 2003 03:29:01 -0000 1.10
+++ src/file.c 30 Nov 2003 03:34:38 -0000
@@ -99,11 +99,11 @@ file_open_ok (GtkWidget *widget, GtkFile
gchar *filename;
filename = g_strdup (gtk_file_selection_get_filename (fs));
if (filename && g_file_test (filename, G_FILE_TEST_IS_DIR)) {
- if (open_path) g_free (open_path);
+ g_free (open_path);
if (filename[strlen(filename) - 1] != G_DIR_SEPARATOR) {
open_path = g_strconcat (filename, G_DIR_SEPARATOR_S, NULL);
g_free (filename);
} else {
open_path = filename;
@@ -112,11 +112,11 @@ file_open_ok (GtkWidget *widget, GtkFile
return;
}
if (filename != NULL) {
gchar* key;
- if (open_path) g_free (open_path);
+ g_free (open_path);
open_path = g_dirname (filename);
if (open_path) open_path = g_strconcat (open_path, G_DIR_SEPARATOR_S, NULL);
key = (gchar*)g_object_get_data (G_OBJECT (fs), "type-key");
sp_file_open (filename, key);
g_free (filename);
@@ -142,11 +142,11 @@ sp_file_open_dialog (gpointer object, gp
{
#ifdef WIN32
char *filename;
filename = sp_win32_get_open_filename (open_path, "SVG files\0*.svg;*.svgz\0All files\0*\0", _("Select file to open"));
if (filename) {
- if (open_path) g_free (open_path);
+ g_free (open_path);
open_path = g_dirname (filename);
if (open_path) open_path = g_strconcat (open_path, G_DIR_SEPARATOR_S, NULL);
sp_file_open (filename, NULL);
g_free (filename);
}
@@ -199,11 +199,11 @@ sp_file_save_dialog (SPDocument *doc)
char *filename;
unsigned int spns;
filename = sp_win32_get_save_filename (save_path, &spns);
if (filename && *filename) {
sp_file_do_save (doc, filename, (spns) ? SP_MODULE_KEY_OUTPUT_SVG_INKSCAPE : SP_MODULE_KEY_OUTPUT_SVG);
- if (save_path) g_free (save_path);
+ g_free (save_path);
save_path = g_dirname (filename);
save_path = g_strdup (save_path);
g_free (filename);
}
#else
@@ -320,11 +320,11 @@ sp_file_do_import (SPDocument *doc, cons
const gchar *e, *docbase, *relname;
SPRepr * repr;
SPReprDoc * rnewdoc;
if (filename && g_file_test (filename, G_FILE_TEST_IS_DIR)) {
- if (import_path) g_free (import_path);
+ g_free (import_path);
if (filename[strlen(filename) - 1] != G_DIR_SEPARATOR) {
import_path = g_strconcat (filename, G_DIR_SEPARATOR_S, NULL);
} else {
import_path = g_strdup (filename);
}
Index: src/main.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/main.c,v
retrieving revision 1.9
diff -d -p -U5 -r1.9 main.c
--- src/main.c 27 Nov 2003 06:14:27 -0000 1.9
+++ src/main.c 30 Nov 2003 03:34:38 -0000
@@ -372,11 +372,11 @@ sp_main_console (int argc, const char **
}
}
fl = g_slist_remove (fl, fl->data);
}
- if (printer) g_free (printer);
+ g_free (printer);
inkscape_unref ();
return 0;
}
Index: src/module.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/module.c,v
retrieving revision 1.5
diff -d -p -U5 -r1.5 module.c
--- src/module.c 16 Nov 2003 07:09:42 -0000 1.5
+++ src/module.c 30 Nov 2003 03:34:38 -0000
@@ -27,20 +27,10 @@
#include "document.h"
#include "module.h"
#include "modules/db.h"
-/**
- \def IF_NOT_NULL_FREE
-
- This is a quick little macro to check if a value is null, and
- if it is not, then free the data. It's used in most of the
- finalize functions, and then also when updating values. It
- doesn't do that much, but it makes the code easier to read
-*/
-#define IF_NOT_NULL_FREE(x) if ((x) != NULL) g_free((x))
-
/* SPModule */
static void sp_module_class_init (SPModuleClass *klass);
static void sp_module_init (SPModule *module);
static void sp_module_finalize (GObject *object);
@@ -52,11 +42,11 @@ static SPModule * sp_module_new (GType t
/**
\var module_parent_class
This is the parent class for the modules. It should be
- GObject - but no promises */
+ GObject - but no promises */
static GObjectClass * module_parent_class;
/**
\return The type value for a SP Module
\brief A quick way to get the type value for a SPModule
@@ -157,12 +147,12 @@ sp_module_finalize (GObject *object)
sp_module_db_unregister (module);
if (module->repr) sp_repr_unref (module->repr);
- IF_NOT_NULL_FREE(module->name);
- IF_NOT_NULL_FREE(module->id);
+ g_free (module->name);
+ g_free (module->id);
G_OBJECT_CLASS (module_parent_class)->finalize (object);
return;
}
@@ -285,11 +275,11 @@ sp_module_unload_default (SPModule * mod
should be created.
\param repr The XML structure of the module definition.
This function is used to build an SPModule (really a subclass of that
though) from an XML description stored in a SPRepr tree. If the class
- has it's own build function, then that function is used. Otherwise
+ has its own build function, then that function is used. Otherwise
the generic 'sp_module_private_build' function is used.
A reference to the SPRepr structure is added in this function so it
should not need to be added by each individual subclass.
*/
@@ -424,14 +414,14 @@ sp_module_input_finalize (GObject *objec
{
SPModuleInput *imod;
imod = (SPModuleInput *) object;
- IF_NOT_NULL_FREE(imod->mimetype);
- IF_NOT_NULL_FREE(imod->extension);
- IF_NOT_NULL_FREE(imod->filetypename);
- IF_NOT_NULL_FREE(imod->filetypetooltip);
+ g_free (imod->mimetype);
+ g_free (imod->extension);
+ g_free (imod->filetypename);
+ g_free (imod->filetypetooltip);
G_OBJECT_CLASS (input_parent_class)->finalize (object);
return;
}
@@ -470,23 +460,23 @@ sp_module_input_build (SPModule *module,
while (child_repr != NULL) {
if (!strcmp(sp_repr_name(child_repr), "input")) {
child_repr = sp_repr_children(child_repr);
while (child_repr != NULL) {
if (!strcmp(sp_repr_name(child_repr), "extension")) {
- IF_NOT_NULL_FREE(imod->extension);
+ g_free (imod->extension);
imod->extension = g_strdup(sp_repr_content(sp_repr_children(child_repr)));
}
if (!strcmp(sp_repr_name(child_repr), "mimetype")) {
- IF_NOT_NULL_FREE(imod->mimetype);
+ g_free (imod->mimetype);
imod->mimetype = g_strdup(sp_repr_content(sp_repr_children(child_repr)));
}
if (!strcmp(sp_repr_name(child_repr), "filetypename")) {
- IF_NOT_NULL_FREE(imod->filetypename);
+ g_free (imod->filetypename);
imod->filetypename = g_strdup(sp_repr_content(sp_repr_children(child_repr)));
}
if (!strcmp(sp_repr_name(child_repr), "filetypetooltip")) {
- IF_NOT_NULL_FREE(imod->filetypetooltip);
+ g_free (imod->filetypetooltip);
imod->filetypetooltip = g_strdup(sp_repr_content(sp_repr_children(child_repr)));
}
child_repr = sp_repr_next(child_repr);
}
@@ -623,14 +613,14 @@ sp_module_output_finalize (GObject *obje
{
SPModuleOutput *omod;
omod = (SPModuleOutput *) object;
- IF_NOT_NULL_FREE(omod->mimetype);
- IF_NOT_NULL_FREE(omod->extension);
- IF_NOT_NULL_FREE(omod->filetypename);
- IF_NOT_NULL_FREE(omod->filetypetooltip);
+ g_free (omod->mimetype);
+ g_free (omod->extension);
+ g_free (omod->filetypename);
+ g_free (omod->filetypetooltip);
G_OBJECT_CLASS (output_parent_class)->finalize (object);
}
/**
@@ -667,23 +657,23 @@ sp_module_output_build (SPModule *module
while (child_repr != NULL) {
if (!strcmp(sp_repr_name(child_repr), "output")) {
child_repr = sp_repr_children(child_repr);
while (child_repr != NULL) {
if (!strcmp(sp_repr_name(child_repr), "extension")) {
- IF_NOT_NULL_FREE(omod->extension);
+ g_free (omod->extension);
omod->extension = g_strdup(sp_repr_content(sp_repr_children(child_repr)));
}
if (!strcmp(sp_repr_name(child_repr), "mimetype")) {
- IF_NOT_NULL_FREE(omod->mimetype);
+ g_free (omod->mimetype);
omod->mimetype = g_strdup(sp_repr_content(sp_repr_children(child_repr)));
}
if (!strcmp(sp_repr_name(child_repr), "filetypename")) {
- IF_NOT_NULL_FREE(omod->filetypename);
+ g_free (omod->filetypename);
omod->filetypename = g_strdup(sp_repr_content(sp_repr_children(child_repr)));
}
if (!strcmp(sp_repr_name(child_repr), "filetypetooltip")) {
- IF_NOT_NULL_FREE(omod->filetypetooltip);
+ g_free (omod->filetypetooltip);
omod->filetypetooltip = g_strdup(sp_repr_content(sp_repr_children(child_repr)));
}
child_repr = sp_repr_next(child_repr);
}
Index: src/sp-anchor.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/sp-anchor.c,v
retrieving revision 1.2
diff -d -p -U5 -r1.2 sp-anchor.c
--- src/sp-anchor.c 2 Nov 2003 00:46:23 -0000 1.2
+++ src/sp-anchor.c 30 Nov 2003 03:34:38 -0000
@@ -130,11 +130,11 @@ sp_anchor_set (SPObject *object, unsigne
anchor = SP_ANCHOR (object);
switch (key) {
case SP_ATTR_XLINK_HREF:
- if (anchor->href) g_free (anchor->href);
+ g_free (anchor->href);
anchor->href = g_strdup (value);
sp_object_request_modified (object, SP_OBJECT_MODIFIED_FLAG);
break;
case SP_ATTR_XLINK_TYPE:
case SP_ATTR_XLINK_ROLE:
Index: src/sp-image.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/sp-image.c,v
retrieving revision 1.2
diff -d -p -U5 -r1.2 sp-image.c
--- src/sp-image.c 31 Oct 2003 07:05:50 -0000 1.2
+++ src/sp-image.c 30 Nov 2003 03:34:38 -0000
@@ -171,11 +171,11 @@ sp_image_set (SPObject *object, unsigned
image = SP_IMAGE (object);
switch (key) {
case SP_ATTR_XLINK_HREF:
- if (image->href) g_free (image->href);
+ g_free (image->href);
image->href = (value) ? g_strdup (value) : NULL;
sp_object_request_update (object, SP_OBJECT_MODIFIED_FLAG | SP_IMAGE_HREF_MODIFIED_FLAG);
break;
case SP_ATTR_X:
if (sp_svg_length_read_lff (value, &unit, &image->x.value, &image->x.computed) &&
Index: src/sp-text.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/sp-text.c,v
retrieving revision 1.6
diff -d -p -U5 -r1.6 sp-text.c
--- src/sp-text.c 16 Nov 2003 23:37:19 -0000 1.6
+++ src/sp-text.c 30 Nov 2003 03:34:39 -0000
@@ -132,12 +132,12 @@ sp_string_release (SPObject *object)
{
SPString *string;
string = SP_STRING (object);
- if (string->p) g_free (string->p);
- if (string->text) g_free (string->text);
+ g_free (string->p);
+ g_free (string->text);
if (((SPObjectClass *) string_parent_class)->release)
((SPObjectClass *) string_parent_class)->release (object);
}
@@ -149,13 +149,13 @@ sp_string_read_content (SPObject *object
SPString *string;
const gchar *t;
string = SP_STRING (object);
- if (string->p) g_free (string->p);
+ g_free (string->p);
string->p = NULL;
- if (string->text) g_free (string->text);
+ g_free (string->text);
t = sp_repr_content (object->repr);
string->text = (t) ? g_strdup (t) : NULL;
/* Is this correct? I think so (Lauris) */
/* Virtual method will be invoked BEFORE signal, so we can update there */
@@ -295,11 +295,11 @@ sp_string_set_shape (SPString *string, S
sp_chars_clear (chars);
if (!string->text || !*string->text) return;
len = g_utf8_strlen (string->text, -1);
if (!len) return;
- if (string->p) g_free (string->p);
+ g_free (string->p);
string->p = g_new (NRPointF, len + 1);
/* fixme: Adjusted value (Lauris) */
size = style->font_size.computed;
face = nr_type_directory_lookup_fuzzy (style->text->font_family.value, sp_text_font_style_to_lookup (style));
Index: src/sp-use.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/sp-use.c,v
retrieving revision 1.2
diff -d -p -U5 -r1.2 sp-use.c
--- src/sp-use.c 2 Nov 2003 00:30:53 -0000 1.2
+++ src/sp-use.c 30 Nov 2003 03:34:39 -0000
@@ -147,11 +147,11 @@ sp_use_release (SPObject *object)
if (use->child) {
use->child = sp_object_detach_unref (SP_OBJECT (object), use->child);
}
- if (use->href) g_free (use->href);
+ g_free (use->href);
if (((SPObjectClass *) parent_class)->release)
((SPObjectClass *) parent_class)->release (object);
}
Index: src/style.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/style.c,v
retrieving revision 1.4
diff -d -p -U5 -r1.4 style.c
--- src/style.c 16 Nov 2003 23:37:19 -0000 1.4
+++ src/style.c 30 Nov 2003 03:34:39 -0000
@@ -259,13 +259,11 @@ sp_style_unref (SPStyle *style)
/* if (style->object) gtk_signal_disconnect_by_data (GTK_OBJECT (style->object), style); */
if (style->object) g_signal_handlers_disconnect_matched (G_OBJECT(style->object), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, style);
if (style->text) sp_text_style_unref (style->text);
sp_style_paint_clear (style, &style->fill, TRUE, FALSE);
sp_style_paint_clear (style, &style->stroke, TRUE, FALSE);
- if (style->stroke_dash.dash) {
- g_free (style->stroke_dash.dash);
- }
+ g_free (style->stroke_dash.dash);
g_free (style);
}
return NULL;
}
@@ -472,11 +470,11 @@ sp_style_merge_property (SPStyle *style,
SPS_READ_IENUM_IF_UNSET (&style->font_stretch, val, enum_font_stretch, TRUE);
break;
case SP_PROP_FONT:
if (!style->text_private) sp_style_privatize_text (style);
if (!style->text->font.set) {
- if (style->text->font.value) g_free (style->text->font.value);
+ g_free (style->text->font.value);
style->text->font.value = g_strdup (val);
style->text->font.set = TRUE;
style->text->font.inherit = (val && !strcmp (val, "inherit"));
}
break;
@@ -812,11 +810,11 @@ sp_style_merge_from_parent (SPStyle *sty
style->writing_mode.computed = parent->writing_mode.computed;
}
if (style->text && parent->text) {
if (!style->text->font_family.set || style->text->font_family.inherit) {
- if (style->text->font_family.value) g_free (style->text->font_family.value);
+ g_free (style->text->font_family.value);
style->text->font_family.value = g_strdup (parent->text->font_family.value);
}
}
}
@@ -1222,12 +1220,12 @@ static SPTextStyle *
sp_text_style_unref (SPTextStyle *st)
{
st->refcount -= 1;
if (st->refcount < 1) {
- if (st->font.value) g_free (st->font.value);
- if (st->font_family.value) g_free (st->font_family.value);
+ g_free (st->font.value);
+ g_free (st->font_family.value);
g_free (st);
}
return NULL;
}
@@ -1316,11 +1314,11 @@ sp_style_read_ienum (SPIEnum *val, const
}
static void
sp_style_read_istring (SPIString *val, const gchar *str)
{
- if (val->value) g_free (val->value);
+ g_free (val->value);
if (!strcmp (str, "inherit")) {
val->set = TRUE;
val->inherit = TRUE;
val->value = NULL;
Index: src/bonobo/embeddable-document.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/bonobo/embeddable-document.c,v
retrieving revision 1.2
diff -d -p -U5 -r1.2 embeddable-document.c
--- src/bonobo/embeddable-document.c 30 Oct 2003 05:52:06 -0000 1.2
+++ src/bonobo/embeddable-document.c 30 Nov 2003 03:34:39 -0000
@@ -132,11 +132,11 @@ sp_bonobo_stream_read (Bonobo_Stream str
do {
Bonobo_Stream_read (stream, STREAM_CHUNK_SIZE, &iobuf, &ev);
if (ev._major != CORBA_NO_EXCEPTION) {
- if (* buffer != NULL) g_free (* buffer);
+ g_free (* buffer);
len = -1;
break;
}
* buffer = g_realloc (* buffer, len + iobuf->_length);
@@ -204,11 +204,11 @@ sp_embeddable_document_ps_save (BonoboPe
document = SP_EMBEDDABLE_DOCUMENT (closure);
/* FIXME: super dirty but functional */
do {
- if (filename) g_free (filename);
+ g_free (filename);
filename = g_strdup ("inkscapeXXXXXX");
fd = mkstemp (filename);
} while (fd == -1);
Index: src/dialogs/stroke-style.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/dialogs/stroke-style.c,v
retrieving revision 1.20
diff -d -p -U5 -r1.20 stroke-style.c
--- src/dialogs/stroke-style.c 29 Nov 2003 22:03:24 -0000 1.20
+++ src/dialogs/stroke-style.c 30 Nov 2003 03:34:39 -0000
@@ -1101,11 +1101,11 @@ sp_stroke_style_scale_line (SPWidget *sp
g_snprintf (c, 32, "%g", dist);
sp_repr_css_set_property (css, "stroke-width", c);
/* Set dash */
sp_stroke_style_set_scaled_dash (css, ndash, dash, offset, dist);
sp_repr_css_change_recursive (SP_OBJECT_REPR (i->data), css, "style");
- if (dash) g_free (dash);
+ g_free (dash);
}
} else {
for (r = reprs; r != NULL; r = r->next) {
double length;
double *dash, offset;
@@ -1115,11 +1115,11 @@ sp_stroke_style_scale_line (SPWidget *sp
sp_convert_distance (&length, sp_unit_selector_get_unit (us), SP_PS_UNIT);
g_snprintf (c, 32, "%g", length * 1.25);
sp_repr_css_set_property (css, "stroke-width", c);
sp_stroke_style_set_scaled_dash (css, ndash, dash, offset, length);
sp_repr_css_change_recursive ((SPRepr *) r->data, css, "style");
- if (dash) g_free (dash);
+ g_free (dash);
}
}
sp_repr_css_attr_unref (css);
if (spw->inkscape) sp_document_done (SP_WIDGET_DOCUMENT (spw));
Index: src/dialogs/text-edit.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/dialogs/text-edit.c,v
retrieving revision 1.5
diff -d -p -U5 -r1.5 text-edit.c
--- src/dialogs/text-edit.c 27 Nov 2003 00:55:38 -0000 1.5
+++ src/dialogs/text-edit.c 30 Nov 2003 03:34:39 -0000
@@ -637,11 +637,11 @@ sp_text_edit_dialog_text_changed (GtkTex
if (str && *str) {
sp_font_preview_set_phrase (SP_FONT_PREVIEW (preview), str);
} else {
sp_font_preview_set_phrase (SP_FONT_PREVIEW (preview), NULL);
}
- if (str) g_free (str);
+ g_free (str);
if (text) {
gtk_widget_set_sensitive (apply, TRUE);
}
gtk_widget_set_sensitive (def, TRUE);
Index: src/helper/sodipodi-ctrl.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/helper/sodipodi-ctrl.c,v
retrieving revision 1.3
diff -d -p -U5 -r1.3 sodipodi-ctrl.c
--- src/helper/sodipodi-ctrl.c 30 Oct 2003 11:33:16 -0000 1.3
+++ src/helper/sodipodi-ctrl.c 30 Nov 2003 03:34:39 -0000
@@ -298,11 +298,11 @@ sp_ctrl_build_cache (SPCtrl *ctrl)
} else { sr = fr; sg = fg; sb = fb; sa = fa; }
side = (ctrl->span * 2 +1);
c = ctrl->span ;
- if (ctrl->cache) g_free (ctrl->cache);
+ g_free (ctrl->cache);
size = (side) * (side) * 4;
ctrl->cache = (guchar*)g_malloc (size);
if (side < 2) return;
switch (ctrl->shape) {
Index: src/modules/ps.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/modules/ps.c,v
retrieving revision 1.8
diff -d -p -U5 -r1.8 ps.c
--- src/modules/ps.c 16 Nov 2003 23:37:19 -0000 1.8
+++ src/modules/ps.c 30 Nov 2003 03:34:39 -0000
@@ -854,12 +854,12 @@ sp_ps_print_image (FILE *ofp, guchar *px
#if 0
fprintf (ofp, "showpage\n");
g_free (data);
#endif
- if (packb != NULL) g_free (packb);
- if (plane != NULL) g_free (plane);
+ g_free (packb);
+ g_free (plane);
#if 0
if (ferror (ofp))
{
g_message (_("write error occured"));
Index: src/widgets/font-selector.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/widgets/font-selector.c,v
retrieving revision 1.3
diff -d -p -U5 -r1.3 font-selector.c
--- src/widgets/font-selector.c 16 Nov 2003 23:37:19 -0000 1.3
+++ src/widgets/font-selector.c 30 Nov 2003 03:34:39 -0000
@@ -617,11 +617,11 @@ sp_font_preview_set_rgba32 (SPFontPrevie
}
void
sp_font_preview_set_phrase (SPFontPreview *fprev, const gchar *phrase)
{
- if (fprev->phrase) g_free (fprev->phrase);
+ g_free (fprev->phrase);
if (phrase) {
fprev->phrase = g_strdup (phrase);
} else {
fprev->phrase = NULL;
}
Index: src/widgets/gradient-image.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/widgets/gradient-image.c,v
retrieving revision 1.2
diff -d -p -U5 -r1.2 gradient-image.c
--- src/widgets/gradient-image.c 30 Oct 2003 20:48:05 -0000 1.2
+++ src/widgets/gradient-image.c 30 Nov 2003 03:34:39 -0000
@@ -149,11 +149,11 @@ sp_gradient_image_size_allocate (GtkWidg
image = SP_GRADIENT_IMAGE (widget);
widget->allocation = *allocation;
if (GTK_WIDGET_REALIZED (widget)) {
- if (image->px) g_free (image->px);
+ g_free (image->px);
image->px = g_new (guchar, 3 * VBLOCK * allocation->width);
}
sp_gradient_image_update (image);
}
Index: src/xml/repr-action.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/xml/repr-action.c,v
retrieving revision 1.5
diff -d -p -U5 -r1.5 repr-action.c
--- src/xml/repr-action.c 29 Nov 2003 02:55:37 -0000 1.5
+++ src/xml/repr-action.c 30 Nov 2003 03:34:39 -0000
@@ -228,12 +228,11 @@ coalesce_chgattr (SPReprAction *action)
{
/* ensure changes are continuous */
if (strcmp(action->act.chgattr.oldval,
iter->act.chgattr.newval)) break;
- if (action->act.chgattr.oldval)
- g_free (action->act.chgattr.oldval);
+ g_free (action->act.chgattr.oldval);
action->act.chgattr.oldval = iter->act.chgattr.oldval;
iter->act.chgattr.oldval = NULL;
free_action (iter);
prev->next = next;
@@ -262,12 +261,11 @@ coalesce_chgcontent (SPReprAction *actio
if ( action->repr == iter->repr ) {
/* ensure changes are continuous */
if (strcmp(action->act.chgcontent.oldval,
iter->act.chgcontent.newval)) break;
- if (action->act.chgcontent.oldval)
- g_free (action->act.chgcontent.oldval);
+ g_free (action->act.chgcontent.oldval);
action->act.chgcontent.oldval =
iter->act.chgcontent.oldval;
iter->act.chgcontent.oldval = NULL;
@@ -429,20 +427,16 @@ free_action (SPReprAction *action)
sp_repr_unref (action->act.del.child);
if (action->act.del.ref)
sp_repr_unref (action->act.del.ref);
break;
case SP_REPR_ACTION_CHGATTR:
- if (action->act.chgattr.oldval)
- g_free (action->act.chgattr.oldval);
- if (action->act.chgattr.newval)
- g_free (action->act.chgattr.newval);
+ g_free (action->act.chgattr.oldval);
+ g_free (action->act.chgattr.newval);
break;
case SP_REPR_ACTION_CHGCONTENT:
- if (action->act.chgcontent.oldval)
- g_free (action->act.chgcontent.oldval);
- if (action->act.chgcontent.newval)
- g_free (action->act.chgcontent.newval);
+ g_free (action->act.chgcontent.oldval);
+ g_free (action->act.chgcontent.newval);
break;
case SP_REPR_ACTION_CHGORDER:
sp_repr_unref (action->act.chgorder.child);
if (action->act.chgorder.oldref)
sp_repr_unref (action->act.chgorder.oldref);
Index: src/xml/repr.c
===================================================================
RCS file: /cvsroot/inkscape/inkscape/src/xml/repr.c,v
retrieving revision 1.5
diff -d -p -U5 -r1.5 repr.c
--- src/xml/repr.c 16 Nov 2003 23:37:20 -0000 1.5
+++ src/xml/repr.c 30 Nov 2003 03:34:39 -0000
@@ -173,11 +173,11 @@ repr_finalize (SPRepr *repr)
for (rl = repr->listeners; rl; rl = rl->next) {
if (rl->vector->destroy) (* rl->vector->destroy) (repr, rl->data);
}
while (repr->children) sp_repr_remove_child (repr, repr->children);
while (repr->attributes) sp_repr_remove_attribute (repr, repr->attributes);
- if (repr->content) g_free (repr->content);
+ g_free (repr->content);
while (repr->listeners) sp_repr_remove_listener (repr, repr->listeners);
}
static void
repr_doc_finalize (SPRepr *repr)
@@ -859,14 +859,14 @@ sp_repr_merge (SPRepr *repr, const SPRep
g_return_val_if_fail (repr != NULL, FALSE);
g_return_val_if_fail (src != NULL, FALSE);
g_return_val_if_fail (key != NULL, FALSE);
if (src->content) {
- if (repr->content) g_free (repr->content);
+ g_free (repr->content);
repr->content = g_strdup (src->content);
} else {
- if (repr->content) g_free (repr->content);
+ g_free (repr->content);
repr->content = NULL;
}
for (child = src->children; child != NULL; child = child->next) {
SPRepr *rch;