[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pspp-cvs] pspp/src data/ChangeLog data/case.c data/case.h...
From: |
Ben Pfaff |
Subject: |
[Pspp-cvs] pspp/src data/ChangeLog data/case.c data/case.h... |
Date: |
Fri, 14 Jul 2006 02:28:29 +0000 |
CVSROOT: /cvsroot/pspp
Module name: pspp
Changes by: Ben Pfaff <blp> 06/07/14 02:28:29
Modified files:
src/data : ChangeLog case.c case.h procedure.c
src/language/expressions: ChangeLog evaluate.c
src/output : ChangeLog table.c
Log message:
Fixes for bugs/warts found in debug mode compile (bug #17092).
Thanks to Jason for reporting this bug and John for insight.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/ChangeLog?cvsroot=pspp&r1=1.58&r2=1.59
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/case.c?cvsroot=pspp&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/case.h?cvsroot=pspp&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/pspp/src/data/procedure.c?cvsroot=pspp&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/expressions/ChangeLog?cvsroot=pspp&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/pspp/src/language/expressions/evaluate.c?cvsroot=pspp&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/pspp/src/output/ChangeLog?cvsroot=pspp&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/pspp/src/output/table.c?cvsroot=pspp&r1=1.10&r2=1.11
Patches:
Index: data/ChangeLog
===================================================================
RCS file: /cvsroot/pspp/pspp/src/data/ChangeLog,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -b -r1.58 -r1.59
--- data/ChangeLog 7 Jul 2006 02:10:08 -0000 1.58
+++ data/ChangeLog 14 Jul 2006 02:28:29 -0000 1.59
@@ -1,3 +1,17 @@
+Wed Jul 12 21:02:26 2006 Ben Pfaff <address@hidden>
+
+ * procedure.c (internal_procedure): Create sink_case with only as
+ many values as the compacted dictionary.
+
+Wed Jul 12 21:01:00 2006 Ben Pfaff <address@hidden>
+
+ Remove "debugging" code that caused plenty of false positives and
+ no true positives.
+
+ * case.h (struct ccase): [DEBUGGING] Remove `this' member.
+
+ * case.c: Remove all references to `this' member.
+
Thu Jul 6 19:09:53 2006 Ben Pfaff <address@hidden>
Fix link error noted by Jason Stover.
Index: data/case.c
===================================================================
RCS file: /cvsroot/pspp/pspp/src/data/case.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- data/case.c 7 May 2006 05:44:18 -0000 1.4
+++ data/case.c 14 Jul 2006 02:28:29 -0000 1.5
@@ -45,9 +45,6 @@
{
struct case_data *cd;
- assert (c != NULL);
- assert (c->this == c);
- assert (c->case_data != NULL);
assert (c->case_data->ref_cnt > 1);
cd = c->case_data;
@@ -72,7 +69,6 @@
case_nullify (struct ccase *c)
{
c->case_data = NULL;
- c->this = c;
}
#endif /* DEBUGGING */
@@ -100,17 +96,10 @@
void
case_clone (struct ccase *clone, const struct ccase *orig)
{
- assert (orig != NULL);
- assert (orig->this == orig);
- assert (orig->case_data != NULL);
assert (orig->case_data->ref_cnt > 0);
- assert (clone != NULL);
if (clone != orig)
- {
*clone = *orig;
- clone->this = clone;
- }
orig->case_data->ref_cnt++;
}
#endif /* DEBUGGING */
@@ -121,16 +110,11 @@
void
case_move (struct ccase *dst, struct ccase *src)
{
- assert (src != NULL);
- assert (src->this == src);
- assert (src->case_data != NULL);
assert (src->case_data->ref_cnt > 0);
- assert (dst != NULL);
if (dst != src)
{
*dst = *src;
- dst->this = dst;
case_nullify (src);
}
}
@@ -144,7 +128,6 @@
struct case_data *cd;
assert (c != NULL);
- assert (c->this == c);
cd = c->case_data;
if (cd != NULL && --cd->ref_cnt == 0)
@@ -183,9 +166,6 @@
int
case_try_create (struct ccase *c, size_t value_cnt)
{
-#ifdef DEBUGGING
- c->this = c;
-#endif
c->case_data = malloc (case_size (value_cnt));
if (c->case_data != NULL)
{
@@ -215,17 +195,11 @@
const struct ccase *src, size_t src_idx,
size_t value_cnt)
{
- assert (dst != NULL);
- assert (dst->this == dst);
- assert (dst->case_data != NULL);
assert (dst->case_data->ref_cnt > 0);
assert (dst_idx + value_cnt <= dst->case_data->value_cnt);
- assert (src != NULL);
- assert (src->this == src);
- assert (src->case_data != NULL);
assert (src->case_data->ref_cnt > 0);
- assert (src_idx + value_cnt <= dst->case_data->value_cnt);
+ assert (src_idx + value_cnt <= src->case_data->value_cnt);
if (dst->case_data != src->case_data || dst_idx != src_idx)
{
@@ -246,9 +220,6 @@
case_to_values (const struct ccase *c, union value *output,
size_t output_size UNUSED)
{
- assert (c != NULL);
- assert (c->this == c);
- assert (c->case_data != NULL);
assert (c->case_data->ref_cnt > 0);
assert (output_size == c->case_data->value_cnt);
assert (output != NULL || output_size == 0);
@@ -267,7 +238,6 @@
size_t input_size UNUSED)
{
assert (c != NULL);
- assert (c->this == c);
assert (c->case_data != NULL);
assert (c->case_data->ref_cnt > 0);
assert (input_size == c->case_data->value_cnt);
@@ -288,7 +258,6 @@
case_data (const struct ccase *c, size_t idx)
{
assert (c != NULL);
- assert (c->this == c);
assert (c->case_data != NULL);
assert (c->case_data->ref_cnt > 0);
assert (idx < c->case_data->value_cnt);
@@ -304,7 +273,6 @@
case_num (const struct ccase *c, size_t idx)
{
assert (c != NULL);
- assert (c->this == c);
assert (c->case_data != NULL);
assert (c->case_data->ref_cnt > 0);
assert (idx < c->case_data->value_cnt);
@@ -322,7 +290,6 @@
case_str (const struct ccase *c, size_t idx)
{
assert (c != NULL);
- assert (c->this == c);
assert (c->case_data != NULL);
assert (c->case_data->ref_cnt > 0);
assert (idx < c->case_data->value_cnt);
@@ -339,7 +306,6 @@
case_data_rw (struct ccase *c, size_t idx)
{
assert (c != NULL);
- assert (c->this == c);
assert (c->case_data != NULL);
assert (c->case_data->ref_cnt > 0);
assert (idx < c->case_data->value_cnt);
@@ -405,7 +371,6 @@
case_data_all (const struct ccase *c)
{
assert (c != NULL);
- assert (c->this == c);
assert (c->case_data != NULL);
assert (c->case_data->ref_cnt > 0);
@@ -421,7 +386,6 @@
case_data_all_rw (struct ccase *c)
{
assert (c != NULL);
- assert (c->this == c);
assert (c->case_data != NULL);
assert (c->case_data->ref_cnt > 0);
Index: data/case.h
===================================================================
RCS file: /cvsroot/pspp/pspp/src/data/case.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- data/case.h 7 May 2006 05:44:18 -0000 1.4
+++ data/case.h 14 Jul 2006 02:28:29 -0000 1.5
@@ -30,9 +30,6 @@
struct ccase
{
struct case_data *case_data; /* Actual data. */
-#if DEBUGGING
- struct ccase *this; /* Detects unauthorized move/copy. */
-#endif
};
/* Invisible to user code. */
Index: data/procedure.c
===================================================================
RCS file: /cvsroot/pspp/pspp/src/data/procedure.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- data/procedure.c 7 May 2006 05:46:26 -0000 1.9
+++ data/procedure.c 14 Jul 2006 02:28:29 -0000 1.10
@@ -219,7 +219,8 @@
wc_data.case_func = case_func;
wc_data.aux = aux;
create_trns_case (&wc_data.trns_case, default_dict);
- case_create (&wc_data.sink_case, dict_get_next_value_idx (default_dict));
+ case_create (&wc_data.sink_case,
+ dict_get_compacted_value_cnt (default_dict));
wc_data.cases_written = 0;
ok = proc_source->class->read (proc_source,
Index: language/expressions/ChangeLog
===================================================================
RCS file: /cvsroot/pspp/pspp/src/language/expressions/ChangeLog,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- language/expressions/ChangeLog 9 Jun 2006 22:51:24 -0000 1.5
+++ language/expressions/ChangeLog 14 Jul 2006 02:28:29 -0000 1.6
@@ -1,3 +1,8 @@
+Wed Jul 12 21:03:17 2006 Ben Pfaff <address@hidden>
+
+ * evaluate.c (cmd_debug_evaluate): Don't try to resize a null
+ case.
+
Fri Jun 9 13:59:15 2006 Ben Pfaff <address@hidden>
Reform string library.
Index: language/expressions/evaluate.c
===================================================================
RCS file: /cvsroot/pspp/pspp/src/language/expressions/evaluate.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- language/expressions/evaluate.c 8 Jul 2006 03:05:51 -0000 1.6
+++ language/expressions/evaluate.c 14 Jul 2006 02:28:29 -0000 1.7
@@ -163,8 +163,9 @@
if (c == NULL)
{
c = xmalloc (sizeof *c);
- case_nullify (c);
+ case_create (c, dict_get_next_value_idx (d));
}
+ else
case_resize (c, old_value_cnt, dict_get_next_value_idx (d));
if (lex_is_number ())
Index: output/ChangeLog
===================================================================
RCS file: /cvsroot/pspp/pspp/src/output/ChangeLog,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- output/ChangeLog 13 Jul 2006 03:58:44 -0000 1.14
+++ output/ChangeLog 14 Jul 2006 02:28:29 -0000 1.15
@@ -1,3 +1,13 @@
+Wed Jul 12 21:03:37 2006 Ben Pfaff <address@hidden>
+
+ * table.c (tab_natural_width): Get rid of warning on empty column,
+ which tended to just trigger false positives because we handle
+ joined cells so badly. We need a real fix, and the warning is not
+ helpful.
+
+ * table.c (tab_offset): [DEBUGGING] Let row, col arguments be as
+ big as row or column count.
+
Wed Jul 12 20:58:19 2006 Ben Pfaff <address@hidden>
* output.c (outp_drivers): [DEBUGGING] Delete unused declaration.
Index: output/table.c
===================================================================
RCS file: /cvsroot/pspp/pspp/src/output/table.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- output/table.c 8 Jul 2006 03:05:52 -0000 1.10
+++ output/table.c 14 Jul 2006 02:28:29 -0000 1.11
@@ -435,10 +435,10 @@
if (width == 0)
{
+ /* FIXME: This is an ugly kluge to compensate for the fact
+ that we don't let joined cells contribute to column
+ widths. */
width = d->prop_em_width * 8;
-#if DEBUGGING
- printf ("warning: table column %d contains no data.\n", c);
-#endif
}
{
@@ -802,12 +802,12 @@
assert (t != NULL);
#if DEBUGGING
- if (row < -1 || row >= t->nr)
+ if (row < -1 || row > t->nr)
{
printf ("tab_offset(): row=%d in %d-row table\n", row, t->nr);
NOT_REACHED ();
}
- if (col < -1 || col >= t->nc)
+ if (col < -1 || col > t->nc)
{
printf ("tab_offset(): col=%d in %d-column table\n", col, t->nc);
NOT_REACHED ();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pspp-cvs] pspp/src data/ChangeLog data/case.c data/case.h...,
Ben Pfaff <=