[gnumeric] Cleanup: use structure assignment, not memcpy.
- From: Morten Welinder <mortenw src gnome org>
- To: svn-commits-list gnome org
- Subject: [gnumeric] Cleanup: use structure assignment, not memcpy.
- Date: Mon, 18 May 2009 11:12:24 -0400 (EDT)
commit ad9f248cbc62652945bec929d25a8c900447d7f2
Author: Morten Welinder <terra gnome org>
Date: Mon May 18 11:11:53 2009 -0400
Cleanup: use structure assignment, not memcpy.
---
ChangeLog | 7 +++++++
src/clipboard.c | 7 +++----
src/commands.c | 21 ++++++++++++---------
src/gnm-pane.c | 2 +-
src/sheet-object.c | 16 +++-------------
src/sheet-object.h | 2 --
src/sheet-style.c | 7 +++----
7 files changed, 29 insertions(+), 33 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 2044d5e..8628e1f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2009-05-18 Morten Welinder <terra gnome org>
+ * src/sheet-style.c (sheet_style_init_size,
+ sheet_style_set_auto_pattern_color): Use structure assignment, not
+ memcpy.
+
+ * src/sheet-object.c (sheet_object_anchor_assign): Eliminate in
+ favour of plain structure assignment. All callers changed.
+
* src/wbc-gtk.c (wbcg_scrollbar_visibility,
wbcg_notebook_tabs_visibility): New functions.
(wbcg_view_changed): Hook up wbcg_scrollbar_visibility and
diff --git a/src/clipboard.c b/src/clipboard.c
index a47e1b5..c4ce813 100644
--- a/src/clipboard.c
+++ b/src/clipboard.c
@@ -271,7 +271,7 @@ paste_object (GnmPasteTarget const *pt, SheetObject const *src, int left, int to
SheetObject *dst;
SheetObjectAnchor tmp;
- sheet_object_anchor_assign (&tmp, sheet_object_get_anchor (src));
+ tmp = *sheet_object_get_anchor (src);
if (G_OBJECT_TYPE (src) == CELL_COMMENT_TYPE) {
if ((pt->paste_flags & PASTE_COMMENTS) &&
(pt->paste_flags & PASTE_IGNORE_COMMENTS_AT_ORIGIN &&
@@ -565,8 +565,7 @@ cb_dup_objects (SheetObject const *src, GnmCellRegion *cr)
{
SheetObject *dst = sheet_object_dup (src);
if (dst != NULL) {
- SheetObjectAnchor tmp;
- sheet_object_anchor_assign (&tmp, sheet_object_get_anchor (src));
+ SheetObjectAnchor tmp = *sheet_object_get_anchor (src);
range_translate (&tmp.cell_bound, sheet_object_get_sheet (src),
- cr->base.col, - cr->base.row);
sheet_object_set_anchor (dst, &tmp);
@@ -688,7 +687,7 @@ clipboard_copy_obj (Sheet *sheet, GSList *objects)
g_object_set_data (G_OBJECT (so), "pt-height-at-copy",
GUINT_TO_POINTER (h));
- sheet_object_anchor_assign (&tmp_anchor, anchor);
+ tmp_anchor = *anchor;
r = &tmp_anchor.cell_bound;
range_translate (r, sheet,
-MIN (r->start.col, r->end.col),
diff --git a/src/commands.c b/src/commands.c
index 7fe8913..0281172 100644
--- a/src/commands.c
+++ b/src/commands.c
@@ -4532,21 +4532,24 @@ cmd_objects_move_redo (GnmCommand *cmd,
G_GNUC_UNUSED WorkbookControl *wbc)
{
CmdObjectsMove *me = CMD_OBJECTS_MOVE (cmd);
- SheetObjectAnchor tmp;
- GSList *obj = me->objects, *anch = me->anchors;
+ GSList *objs = me->objects, *anchs = me->anchors;
+
+ for (; objs && anchs; objs = objs->next, anchs = anchs->next) {
+ SheetObject *obj = objs->data;
+ SheetObjectAnchor *anch = anchs->data;
+ SheetObjectAnchor tmp;
- for (; obj != NULL && anch != NULL ; obj = obj->next, anch = anch->next) {
/* If these were newly created objects remove them on undo and
* re-insert on subsequent redos */
if (me->objects_created && !me->first_time) {
- if (NULL != sheet_object_get_sheet (obj->data))
- sheet_object_clear_sheet (obj->data);
+ if (NULL != sheet_object_get_sheet (obj))
+ sheet_object_clear_sheet (obj);
else
- sheet_object_set_sheet (obj->data, cmd->sheet);
+ sheet_object_set_sheet (obj, cmd->sheet);
}
- sheet_object_anchor_assign (&tmp, sheet_object_get_anchor (obj->data));
- sheet_object_set_anchor (obj->data, anch->data);
- sheet_object_anchor_assign (anch->data, &tmp);
+ tmp = *sheet_object_get_anchor (obj);
+ sheet_object_set_anchor (obj, anch);
+ *anch = tmp;
}
me->first_time = FALSE;
diff --git a/src/gnm-pane.c b/src/gnm-pane.c
index 285a8dd..5590e31 100644
--- a/src/gnm-pane.c
+++ b/src/gnm-pane.c
@@ -1990,7 +1990,7 @@ gnm_pane_display_obj_size_tip (GnmPane *pane, SheetObject const *so)
g_return_if_fail (pane->size_tip != NULL);
- sheet_object_anchor_assign (&anchor, sheet_object_get_anchor (so));
+ anchor = *sheet_object_get_anchor (so);
scg_object_coords_to_anchor (scg, coords, &anchor);
sheet_object_anchor_to_pts (&anchor, scg_sheet (scg), pts);
msg = g_strdup_printf (_("%.1f x %.1f pts\n%d x %d pixels"),
diff --git a/src/sheet-object.c b/src/sheet-object.c
index b56784e..883a0e6 100644
--- a/src/sheet-object.c
+++ b/src/sheet-object.c
@@ -607,7 +607,7 @@ sheet_object_set_anchor (SheetObject *so, SheetObjectAnchor const *anchor)
{
g_return_if_fail (IS_SHEET_OBJECT (so));
- sheet_object_anchor_assign (&so->anchor, anchor);
+ so->anchor = *anchor;
if (so->sheet != NULL) {
sheet_objects_max_extent (so->sheet);
sheet_object_update_bounds (so, NULL);
@@ -617,20 +617,10 @@ sheet_object_set_anchor (SheetObject *so, SheetObjectAnchor const *anchor)
SheetObjectAnchor *
sheet_object_anchor_dup (SheetObjectAnchor const *src)
{
- SheetObjectAnchor *res = g_new0 (SheetObjectAnchor, 1);
- sheet_object_anchor_assign (res, src);
+ SheetObjectAnchor *res = g_memdup (src, sizeof (SheetObjectAnchor));
return res;
}
-void
-sheet_object_anchor_assign (SheetObjectAnchor *dst, SheetObjectAnchor const *src)
-{
- g_return_if_fail (src != NULL);
- g_return_if_fail (dst != NULL);
-
- memcpy (dst, src, sizeof (SheetObjectAnchor));
-}
-
static double
cell_offset_calc_pt (Sheet const *sheet, int i, gboolean is_col,
float offset)
@@ -876,7 +866,7 @@ sheet_object_dup (SheetObject const *so)
SO_CLASS (so)->copy (new_so, so);
new_so->flags = so->flags;
- sheet_object_anchor_assign (&new_so->anchor, &so->anchor);
+ new_so->anchor = so->anchor;
return new_so;
}
diff --git a/src/sheet-object.h b/src/sheet-object.h
index c1551f2..cafc64d 100644
--- a/src/sheet-object.h
+++ b/src/sheet-object.h
@@ -112,8 +112,6 @@ void sheet_object_anchor_init (SheetObjectAnchor *anchor,
GODrawingAnchorDir direction);
SheetObjectAnchor *
sheet_object_anchor_dup (SheetObjectAnchor const *src);
-void sheet_object_anchor_assign (SheetObjectAnchor *dst,
- SheetObjectAnchor const *src);
/* Image rendering */
GtkTargetList *sheet_object_get_target_list (SheetObject const *so);
diff --git a/src/sheet-style.c b/src/sheet-style.c
index 12b0cf1..fdaebd3 100644
--- a/src/sheet-style.c
+++ b/src/sheet-style.c
@@ -516,8 +516,7 @@ sheet_style_init_size (Sheet *sheet, int cols, int rows)
g_hash_table_new (gnm_style_hash, (GCompareFunc) gnm_style_equal);
#warning "FIXME: Allocating a GnmColor here is dubious."
sheet->style_data->auto_pattern_color = g_new (GnmColor, 1);
- memcpy (sheet->style_data->auto_pattern_color,
- style_color_auto_pattern (), sizeof (GnmColor));
+ *sheet->style_data->auto_pattern_color = *style_color_auto_pattern ();
sheet->style_data->auto_pattern_color->ref_count = 1;
default_style = gnm_style_new_default ();
@@ -662,7 +661,7 @@ sheet_style_shutdown (Sheet *sheet)
* Absorbs a reference to @pattern_color;
**/
void
-sheet_style_set_auto_pattern_color (Sheet *sheet, GnmColor *pattern_color)
+sheet_style_set_auto_pattern_color (Sheet *sheet, GnmColor *pattern_color)
{
GnmColor *apc;
int ref_count;
@@ -672,7 +671,7 @@ sheet_style_set_auto_pattern_color (Sheet *sheet, GnmColor *pattern_color)
apc = sheet->style_data->auto_pattern_color;
ref_count = apc->ref_count;
- memcpy(apc, pattern_color, sizeof (GnmColor));
+ *apc = *pattern_color;
apc->is_auto = TRUE;
apc->ref_count = ref_count;
style_color_unref (pattern_color);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]