casereader: Add const to casereader_peek() and casereader_is_empty().
authorBen Pfaff <blp@cs.stanford.edu>
Sun, 20 Nov 2022 17:51:09 +0000 (09:51 -0800)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 20 Nov 2022 17:51:09 +0000 (09:51 -0800)
These don't affect the external state of a casereader even though they can
affect its internal state.

src/data/casereader.c
src/data/casereader.h

index 379e351edc781098558a24cecc0d2dc6e266f2c3..1b06f42e8ab399b9b0ad4a3b76f1a3ea82a10bea 100644 (file)
@@ -147,8 +147,9 @@ casereader_swap (struct casereader *a, struct casereader *b)
    when it is no longer needed.  Returns a null pointer if cases
    have been exhausted or upon detection of an I/O error. */
 struct ccase *
-casereader_peek (struct casereader *reader, casenumber idx)
+casereader_peek (const struct casereader *reader_, casenumber idx)
 {
+  struct casereader *reader = CONST_CAST (struct casereader *, reader_);
   if (idx < reader->n_cases)
     {
       struct ccase *c;
@@ -171,7 +172,7 @@ casereader_peek (struct casereader *reader, casenumber idx)
    casereader_read will return true, because an error can occur
    in the meantime.) */
 bool
-casereader_is_empty (struct casereader *reader)
+casereader_is_empty (const struct casereader *reader)
 {
   if (reader->n_cases == 0)
     return true;
index 680e669928331a6ffccea5f72c4392e499f3b825..da4eaa2f3bcdb827a1e41bcfe64cd98b86b7d8e6 100644 (file)
@@ -67,8 +67,8 @@ struct casereader *casereader_clone (const struct casereader *);
 struct casereader *casereader_rename (struct casereader *);
 void casereader_swap (struct casereader *, struct casereader *);
 
-struct ccase *casereader_peek (struct casereader *, casenumber);
-bool casereader_is_empty (struct casereader *);
+struct ccase *casereader_peek (const struct casereader *, casenumber);
+bool casereader_is_empty (const struct casereader *);
 
 bool casereader_error (const struct casereader *);
 void casereader_force_error (struct casereader *);