From 302bd0da45b8920bf4a34d8751d9cbceacd5b6ea Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Mon, 21 Dec 2009 17:11:47 -0800 Subject: [PATCH] casereader: Make parameter to casereader_count_cases const. casereader_count_cases does not conceptually modify its argument, since there is no way for the client to observe the difference (other than through improved performance). So there is no need for the parameter to be const. --- src/data/casereader.c | 10 +++++++--- src/data/casereader.h | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/data/casereader.c b/src/data/casereader.c index 57afff84..97b7ceff 100644 --- a/src/data/casereader.c +++ b/src/data/casereader.c @@ -258,7 +258,8 @@ casereader_get_case_cnt (struct casereader *reader) } static casenumber -casereader_count_cases__ (struct casereader *reader, casenumber max_cases) +casereader_count_cases__ (const struct casereader *reader, + casenumber max_cases) { struct casereader *clone; casenumber n_cases; @@ -280,10 +281,13 @@ casereader_count_cases__ (struct casereader *reader, casenumber max_cases) of the contents of a clone of READER. Thus, the return value is always correct in the absence of I/O errors. */ casenumber -casereader_count_cases (struct casereader *reader) +casereader_count_cases (const struct casereader *reader) { if (reader->case_cnt == CASENUMBER_MAX) - reader->case_cnt = casereader_count_cases__ (reader, CASENUMBER_MAX); + { + struct casereader *reader_rw = CONST_CAST (struct casereader *, reader); + reader_rw->case_cnt = casereader_count_cases__ (reader, CASENUMBER_MAX); + } return reader->case_cnt; } diff --git a/src/data/casereader.h b/src/data/casereader.h index a78afaeb..f2231e2d 100644 --- a/src/data/casereader.h +++ b/src/data/casereader.h @@ -77,7 +77,7 @@ void casereader_force_error (struct casereader *); const struct taint *casereader_get_taint (const struct casereader *); casenumber casereader_get_case_cnt (struct casereader *); -casenumber casereader_count_cases (struct casereader *); +casenumber casereader_count_cases (const struct casereader *); void casereader_truncate (struct casereader *, casenumber); const struct caseproto *casereader_get_proto (const struct casereader *); -- 2.30.2