X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fexamine.q;h=43ecc13037d3d6a2faf3ab0ae762a08cd78022ae;hb=4f8599928787c4b9da99caff29b27724c2e3298d;hp=33498d85e05ffdb89f4f70f71fe748af0ca17d18;hpb=933b760efccdfa26f14254f1fae002ea3b0a1495;p=pspp diff --git a/src/examine.q b/src/examine.q index 33498d85e0..43ecc13037 100644 --- a/src/examine.q +++ b/src/examine.q @@ -77,7 +77,7 @@ static struct cmd_examine cmd; static struct variable **dependent_vars; -static int n_dependent_vars; +static size_t n_dependent_vars; struct factor @@ -233,6 +233,7 @@ cmd_examine(void) hsh_destroy ( ff->fstats ) ; free ( ff ) ; } + factors = 0; } subc_list_double_destroy(&percentile_list); @@ -328,7 +329,7 @@ output_examine(void) if ( cmd.sbc_plot) { - int v; + size_t v; struct factor_statistics **fs = fctr->fs ; @@ -394,7 +395,7 @@ list_to_ptile_hash(const subc_list_double *l) for ( i = 0 ; i < subc_list_double_count(l) ; ++i ) { - struct percentile *p = xmalloc (sizeof (struct percentile)); + struct percentile *p = xmalloc (sizeof *p); p->p = subc_list_double_at(l,i); p->v = SYSMIS; @@ -511,7 +512,7 @@ xmn_custom_variables(struct cmd_examine *cmd ) assert(n_dependent_vars); - totals = xmalloc( sizeof(struct metrics) * n_dependent_vars); + totals = xnmalloc (n_dependent_vars, sizeof *totals); if ( lex_match(T_BY)) { @@ -534,7 +535,7 @@ static int examine_parse_independent_vars(struct cmd_examine *cmd) { int success; - struct factor *sf = xmalloc(sizeof(struct factor)); + struct factor *sf = xmalloc (sizeof *sf); if ((token != T_ID || dict_lookup_var (default_dict, tokid) == NULL) && token != T_ALL) @@ -611,7 +612,7 @@ static int bad_weight_warn = 1; void factor_calc(struct ccase *c, int case_no, double weight, int case_missing) { - int v; + size_t v; struct factor *fctr = factors; while ( fctr) @@ -663,9 +664,6 @@ factor_calc(struct ccase *c, int case_no, double weight, int case_missing) } - - - static void run_examine(const struct casefile *cf, void *cmd_ ) { @@ -677,7 +675,6 @@ run_examine(const struct casefile *cf, void *cmd_ ) /* Make sure we haven't got rubbish left over from a previous split */ - struct factor *fctr = factors; while (fctr) { @@ -812,7 +809,7 @@ run_examine(const struct casefile *cf, void *cmd_ ) hsh_probe(fctr->fstats, (void *) &key ); if ( !*ffs ) { - int i; + size_t i; (*ffs) = create_factor_statistics (n_dependent_vars, &key[0], &key[1]); for ( i = 0 ; i < n_dependent_vars ; ++i ) @@ -834,7 +831,7 @@ run_examine(const struct casefile *cf, void *cmd_ ) if ( totals ) { - int i; + size_t i; for ( i = 0 ; i < n_dependent_vars ; ++i ) { metrics_destroy(&totals[i]); @@ -1858,7 +1855,7 @@ np_plot(const struct metrics *m, const char *factorname) { /* We have to cache the detrended data, beacause we need to find its limits before we can plot it */ - double *d_data = xmalloc (m->n_data * sizeof(double)); + double *d_data = xnmalloc (m->n_data, sizeof *d_data); double d_max = -DBL_MAX; double d_min = DBL_MAX; for ( i = 0 ; i < m->n_data; ++i )