X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Ftests%2Fcasefile-test.c;h=6f5a5d2e7e5982b94829f70c6d3f13991fc8dc22;hb=0ed7ffcf1a0ed3c8ae68099c9f212592e8a5ec4a;hp=a1927ddb98dc3009820ed3b5200ca7a416997c44;hpb=a37754c18dee3d5941e5fe041b2c1fa1a3370157;p=pspp diff --git a/src/language/tests/casefile-test.c b/src/language/tests/casefile-test.c index a1927ddb98..6f5a5d2e7e 100644 --- a/src/language/tests/casefile-test.c +++ b/src/language/tests/casefile-test.c @@ -45,7 +45,7 @@ static void test_casereader_clone (struct casereader *reader1, size_t case_cnt); static void fail_test (const char *message, ...); int -cmd_debug_casefile (void) +cmd_debug_casefile (struct dataset *ds UNUSED) { static const size_t sizes[] = { @@ -232,14 +232,17 @@ test_casereader_clone (struct casereader *reader1, size_t case_cnt) /* Read a 3rd of the cases */ for ( i = 0 ; i < case_cnt / 3 ; ++i ) - casereader_read (reader1, &c1); + { + casereader_read (reader1, &c1); + case_destroy (&c1); + } clone = casereader_clone (reader1); /* Copy all the cases into a new file */ while( casereader_read (reader1, &c1)) { - casefile_append (newfile, &c1); + casefile_append_xfer (newfile, &c1); cases ++; } @@ -254,13 +257,19 @@ test_casereader_clone (struct casereader *reader1, size_t case_cnt) cases --; if ( ! casereader_read_xfer (newreader, &c2) ) - break; + { + case_destroy (&c1); + break; + } v1 = case_data_all (&c1) ; v2 = case_data_all (&c2) ; if ( 0 != memcmp (v1, v2, value_cnt * MAX_SHORT_STRING)) fail_test ("Cloned reader read different value at case %ld", cases); + + case_destroy (&c1); + case_destroy (&c2); } if ( cases > 0 )