X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=inline;f=src%2Fdescript.c;h=fedba7f6938586ee098ee4c758a3e24111c271d8;hb=0346f7d97515cdafb2caa6582224a8ad3f879ae8;hp=7fea832867949f056bb6e11e19400379162d7ed8;hpb=05e356b2a3087e819ef3b5388e29c822f41502e1;p=pspp-builds.git diff --git a/src/descript.c b/src/descript.c index 7fea8328..fedba7f6 100644 --- a/src/descript.c +++ b/src/descript.c @@ -14,8 +14,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. */ /* FIXME: Many possible optimizations. */ @@ -39,6 +39,10 @@ #include "var.h" #include "vfm.h" +#include "gettext.h" +#define _(msgid) gettext (msgid) +#define N_(msgid) msgid + /* DESCRIPTIVES private data. */ struct dsc_proc; @@ -120,7 +124,7 @@ static const struct dsc_statistic_info dsc_info[DSC_N_STATS] = struct dsc_var { struct variable *v; /* Variable to calculate on. */ - char z_name[SHORT_NAME_LEN + 1];/* Name for z-score variable. */ + char z_name[LONG_NAME_LEN + 1]; /* Name for z-score variable. */ double valid, missing; /* Valid, missing counts. */ struct moments *moments; /* Moments. */ double min, max; /* Maximum and mimimum values. */ @@ -465,7 +469,7 @@ try_name (struct dsc_proc *dsc, char *name) if (dict_lookup_var (default_dict, name) != NULL) return 0; for (i = 0; i < dsc->var_cnt; i++) - if (!strcmp (dsc->vars[i].z_name, name)) + if (!strcasecmp (dsc->vars[i].z_name, name)) return 0; return 1; } @@ -478,12 +482,11 @@ static int generate_z_varname (struct dsc_proc *dsc, char *z_name, const char *var_name, int *z_cnt) { - char name[10]; + char name[LONG_NAME_LEN + 1]; /* Try a name based on the original variable name. */ name[0] = 'Z'; - strcpy (name + 1, var_name); - name[SHORT_NAME_LEN] = '\0'; + str_copy_trunc (name + 1, sizeof name - 1, var_name); if (try_name (dsc, name)) { strcpy (z_name, name); @@ -925,7 +928,7 @@ descriptives_compare_dsc_vars (const void *a_, const void *b_, void *dsc_) int result; if (dsc->sort_by_stat == DSC_NAME) - result = strcmp (a->v->name, b->v->name); + result = strcasecmp (a->v->name, b->v->name); else { double as = a->stats[dsc->sort_by_stat];