Don't append cell contents when there is none.
[pspp-builds.git] / lib / gtksheet / gtksheet.c
index 1118555df32e10b5acf3c5d9bd845a1b7753d4fb..eba0ea4002474f060bbd49f2c9799c0bb154792c 100644 (file)
@@ -96,15 +96,10 @@ enum
 #define CELL_SPACING 1
 #define DRAG_WIDTH 6
 #define TIMEOUT_HOVER 300
-#define TIME_INTERVAL 8
 #define COLUMN_MIN_WIDTH 10
-#define MINROWS 1
-#define MINCOLS 1
-#define MAXLENGTH 30
 #define CELLOFFSET 4
 #define DEFAULT_COLUMN_WIDTH 80
 
-
 static void gtk_sheet_update_primary_selection (GtkSheet *sheet);
 static void gtk_sheet_column_title_button_draw (GtkSheet *sheet, gint column);
 
@@ -7844,7 +7839,7 @@ gtk_sheet_button_new (void)
 }
 
 
-inline void
+void
 gtk_sheet_button_free (GtkSheetButton *button)
 {
   if (!button) return ;
@@ -7854,10 +7849,21 @@ gtk_sheet_button_free (GtkSheetButton *button)
 }
 
 
+static void
+append_cell_text (GString *string, const GtkSheet *sheet, gint r, gint c)
+{
+  gchar *celltext = gtk_sheet_cell_get_text (sheet, r, c);
+
+  if ( NULL == celltext)
+    return;
+
+  g_string_append (string, celltext);
+  g_free (celltext);
+}
+
 static GString *
 range_to_text (const GtkSheet *sheet)
 {
-  gchar *celltext = NULL;
   gint r, c;
   GString *string;
 
@@ -7870,16 +7876,12 @@ range_to_text (const GtkSheet *sheet)
     {
       for (c = sheet->range.col0; c < sheet->range.coli; ++c)
        {
-         celltext = gtk_sheet_cell_get_text (sheet, r, c);
-         g_string_append (string, celltext);
+         append_cell_text (string, sheet, r, c);
          g_string_append (string, "\t");
-         g_free (celltext);
        }
-      celltext = gtk_sheet_cell_get_text (sheet, r, c);
-      g_string_append (string, celltext);
+      append_cell_text (string, sheet, r, c);
       if ( r < sheet->range.rowi)
        g_string_append (string, "\n");
-      g_free (celltext);
     }
 
   return string;
@@ -7888,7 +7890,6 @@ range_to_text (const GtkSheet *sheet)
 static GString *
 range_to_html (const GtkSheet *sheet)
 {
-  gchar *celltext = NULL;
   gint r, c;
   GString *string;
 
@@ -7906,10 +7907,8 @@ range_to_html (const GtkSheet *sheet)
       for (c = sheet->range.col0; c <= sheet->range.coli; ++c)
        {
          g_string_append (string, "<td>");
-         celltext = gtk_sheet_cell_get_text (sheet, r, c);
-         g_string_append (string, celltext);
+         append_cell_text (string, sheet, r, c);
          g_string_append (string, "</td>\n");
-         g_free (celltext);
        }
       g_string_append (string, "</tr>\n");
     }