From: John Darrington Date: Sun, 27 Jan 2013 18:36:18 +0000 (+0100) Subject: Fix memory leak X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c9650cd7e5af2250811c90a2410d3a67151a8507;p=pspp Fix memory leak --- diff --git a/src/data/gnumeric-reader.c b/src/data/gnumeric-reader.c index 6b78dec8e3..d750baca84 100644 --- a/src/data/gnumeric-reader.c +++ b/src/data/gnumeric-reader.c @@ -145,7 +145,7 @@ gnumeric_get_sheet_name (struct spreadsheet *s, int n) static void process_node (struct gnumeric_reader *r); -const char * +char * gnumeric_get_sheet_range (struct spreadsheet *s, int n) { int ret; @@ -268,6 +268,7 @@ process_node (struct gnumeric_reader *r) } else if (XML_READER_TYPE_TEXT == r->node_type) { +#if MODEL_SHOULD_WORK if ( r->target_sheet != NULL) { xmlChar *value = xmlTextReaderValue (r->xtr); @@ -279,6 +280,9 @@ process_node (struct gnumeric_reader *r) { r->state = STATE_SHEET_FOUND; } +#else + r->state = STATE_SHEET_FOUND; +#endif } break; case STATE_SHEET_FOUND: diff --git a/src/data/gnumeric-reader.h b/src/data/gnumeric-reader.h index 7e16341b3c..8c7518f808 100644 --- a/src/data/gnumeric-reader.h +++ b/src/data/gnumeric-reader.h @@ -28,7 +28,7 @@ struct spreadsheet *gnumeric_probe (const char *filename); const char * gnumeric_get_sheet_name (struct spreadsheet *s, int n); -const char * gnumeric_get_sheet_range (struct spreadsheet *s, int n); +char * gnumeric_get_sheet_range (struct spreadsheet *s, int n); void gnumeric_destroy (struct spreadsheet *); diff --git a/src/ui/gui/psppire-spreadsheet-model.c b/src/ui/gui/psppire-spreadsheet-model.c index 83c6a5b286..f66ce1da28 100644 --- a/src/ui/gui/psppire-spreadsheet-model.c +++ b/src/ui/gui/psppire-spreadsheet-model.c @@ -260,10 +260,11 @@ tree_model_get_value (GtkTreeModel * model, GtkTreeIter * iter, break; case COL_SHEET_RANGE: { - const char *x = + char *x = gnumeric_get_sheet_range (spreadsheetModel->spreadsheet, (gint) iter->user_data); g_value_set_string (value, x); + free (x); } break; default: