>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 | 2 +-
src/math/categoricals.c | 5 +++--
src/math/categoricals.h | 4 ++--
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/language/stats/oneway.c b/src/language/stats/oneway.c
index 12170bb..0a2b8e7 100644
--- a/src/language/stats/oneway.c
+++ b/src/language/stats/oneway.c
@@ -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);
diff --git a/src/math/categoricals.c b/src/math/categoricals.c
index c8b337e..25de2cc 100644
--- a/src/math/categoricals.c
+++ b/src/math/categoricals.c
@@ -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,
diff --git a/src/math/categoricals.h b/src/math/categoricals.h
index 09ced7d..044722e 100644
--- a/src/math/categoricals.h
+++ b/src/math/categoricals.h
@@ -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);
--
1.7.1
_______________________________________________
pspp-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/pspp-dev