X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fdatasheet.c;h=1175e20403eeb0fed73cf95a972beddb860766f8;hb=8f5194875a0a3d41fef91825fd8378bb004d6f51;hp=bee55f0f77ff5ae1d8ddd2cc5908be0cea217435;hpb=52852e8feec36031e33665b3bf011e7e54f62783;p=pspp diff --git a/src/data/datasheet.c b/src/data/datasheet.c index bee55f0f77..1175e20403 100644 --- a/src/data/datasheet.c +++ b/src/data/datasheet.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2007, 2009, 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -509,15 +509,19 @@ datasheet_resize_column (struct datasheet *ds, size_t column, int new_width, if (!source_read (&old_col, prow, &src)) { /* FIXME: back out col changes. */ - return false; + break; } resize_cb (&src, &dst, resize_cb_aux); if (!source_write (col, prow, &dst)) { /* FIXME: back out col changes. */ - return false; + break; } } + value_destroy (&src, old_width); + value_destroy (&dst, new_width); + if (lrow < n_rows) + return false; release_source (ds, old_col.source); } @@ -926,8 +930,7 @@ axis_hash (const struct axis *axis, struct md4_ctx *ctx) md4_process_bytes (&size, sizeof size, ctx); } - for (rsn = range_set_first (axis->available); rsn != NULL; - rsn = range_set_next (axis->available, rsn)) + RANGE_SET_FOR_EACH (rsn, axis->available) { unsigned long int start = range_set_node_get_start (rsn); unsigned long int end = range_set_node_get_end (rsn);