From 2a02ce128ba2c77fd003e81195730de4f82d3baa Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Sat, 11 Dec 2010 22:07:14 -0800 Subject: [PATCH] categoricals: Make parameter to categoricals_done() const. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 12170bb4..0a2b8e71 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 c8b337e4..25de2cc6 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 09ced7d7..044722ee 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); -- 2.30.2