X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Flanguage%2Fstats%2Fquick-cluster.c;h=946181b01a6b22e3061a4b26c961ed6f88236bd7;hb=f3eba902a0deb8e3ce93383de255f7e0d39921b5;hp=e6987f4b10b5db503a799b66665a796665407a17;hpb=32ee0e0402d6d56674f53a47d879ec5c07dabe09;p=pspp diff --git a/src/language/stats/quick-cluster.c b/src/language/stats/quick-cluster.c index e6987f4b10..946181b01a 100644 --- a/src/language/stats/quick-cluster.c +++ b/src/language/stats/quick-cluster.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2011 Free Software Foundation, Inc. + Copyright (C) 2011, 2012 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 @@ -390,11 +390,10 @@ static void quick_cluster_show_centers (struct Kmeans *kmeans, bool initial, const struct qc *qc) { struct tab_table *t; - int nc, nr, heading_columns, currow; + int nc, nr, currow; int i, j; nc = qc->ngroups + 1; nr = qc->n_vars + 4; - heading_columns = 1; t = tab_create (nc, nr); tab_headers (t, 0, nc - 1, 0, 1); currow = 0; @@ -549,6 +548,11 @@ cmd_quick_cluster (struct lexer *lexer, struct dataset *ds) { lex_force_int (lexer); qc.ngroups = lex_integer (lexer); + if (qc.ngroups <= 0) + { + lex_error (lexer, _("The number of clusters must be positive")); + goto error; + } lex_get (lexer); lex_force_match (lexer, T_RPAREN); } @@ -559,6 +563,11 @@ cmd_quick_cluster (struct lexer *lexer, struct dataset *ds) { lex_force_int (lexer); qc.maxiter = lex_integer (lexer); + if (qc.maxiter <= 0) + { + lex_error (lexer, _("The number of iterations must be positive")); + goto error; + } lex_get (lexer); lex_force_match (lexer, T_RPAREN); }