categoricals: Make parameter to categoricals_done() const.
authorBen Pfaff <blp@cs.stanford.edu>
Sun, 12 Dec 2010 06:07:14 +0000 (22:07 -0800)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 12 Dec 2010 06:10:45 +0000 (22:10 -0800)
From a high-level point of view, categoricals_done() does not actually
mutate any data in a categoricals object.  Instead, it just computes a
cache.  So it seems reasonable to make it take a "const" parameter, and
this fixes a warning:

oneway.c: In function ‘run_oneway’:
oneway.c:502: warning: initialization discards qualifiers from pointer target type

src/language/stats/oneway.c
src/math/categoricals.c
src/math/categoricals.h

index 12170bb47e73aeb721ed9a97aad2e319232a9755..0a2b8e719d03064d83bcc16cf47b72f5cf63de83 100644 (file)
@@ -501,7 +501,7 @@ run_oneway (const struct oneway_spec *cmd,
 
   for (v = 0; v < cmd->n_vars; ++v)
     {
-      struct categoricals *cats = covariance_get_categoricals (ws.vws[v].cov);
+      const struct categoricals *cats = covariance_get_categoricals (ws.vws[v].cov);
 
       categoricals_done (cats);
       
index c8b337e452012f03c2d16f5229f2253441a16b21..25de2cc6ea18a0d5240edb39d239a8959264686a 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2009 Free Software Foundation, Inc.
+   Copyright (C) 2009, 2010 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
@@ -311,7 +311,7 @@ categoricals_total (const struct categoricals *cat)
 /* This function must be called *before* any call to categoricals_get_*_by subscript an
  *after* all calls to categoricals_update */
 void
-categoricals_done (struct categoricals *cat)
+categoricals_done (const struct categoricals *cat_)
 {
   /* Implementation Note: Whilst this function is O(n) in cat->n_cats_total, in most
      uses it will be more efficient that using a tree based structure, since it
@@ -319,6 +319,7 @@ categoricals_done (struct categoricals *cat)
 
      1 call of O(n) + 10^9 calls of O(1) is better than 10^9 calls of O(log n).
   */
+  struct categoricals *cat = CONST_CAST (struct categoricals *, cat_);
   int v;
   int idx = 0;
   cat->reverse_variable_map = pool_calloc (cat->pool,
index 09ced7d7acc2a9900fd67039697b98273aaafe0c..044722eed61cdfb96fac4eeb177982baeef24658 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2009 Free Software Foundation, Inc.
+   Copyright (C) 2009, 2010 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
@@ -61,7 +61,7 @@ size_t categoricals_total (const struct categoricals *cat);
 */
 size_t categoricals_get_n_variables (const struct categoricals *cat);
 
-void categoricals_done (struct categoricals *cat);
+void categoricals_done (const struct categoricals *cat);
 
 const struct variable * categoricals_get_variable_by_subscript (const struct categoricals *cat, int subscript);