projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge 'master' into 'psppsheet'.
[pspp]
/
src
/
data
/
variable.c
diff --git
a/src/data/variable.c
b/src/data/variable.c
index cc606cc9e77131911727c1e2df85ee8b217189bc..fe4645ee41e1b7d7fad9042e5dc5014076ace03c 100644
(file)
--- a/
src/data/variable.c
+++ b/
src/data/variable.c
@@
-1,5
+1,5
@@
/* PSPP - a program for statistical analysis.
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 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
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
@@
-201,7
+201,7
@@
compare_vars_by_name (const void *a_, const void *b_, const void *aux UNUSED)
const struct variable *a = a_;
const struct variable *b = b_;
const struct variable *a = a_;
const struct variable *b = b_;
- return strcasecmp (a->name, b->name);
+ return
utf8_
strcasecmp (a->name, b->name);
}
/* A hsh_hash_func that hashes variable V based on its name. */
}
/* A hsh_hash_func that hashes variable V based on its name. */
@@
-210,7
+210,7
@@
hash_var_by_name (const void *v_, const void *aux UNUSED)
{
const struct variable *v = v_;
{
const struct variable *v = v_;
- return hash_case_string (v->name, 0);
+ return
utf8_
hash_case_string (v->name, 0);
}
/* A hsh_compare_func that orders pointers to variables A and B
}
/* A hsh_compare_func that orders pointers to variables A and B
@@
-222,7
+222,7
@@
compare_var_ptrs_by_name (const void *a_, const void *b_,
struct variable *const *a = a_;
struct variable *const *b = b_;
struct variable *const *a = a_;
struct variable *const *b = b_;
- return strcasecmp (var_get_name (*a), var_get_name (*b));
+ return
utf8_
strcasecmp (var_get_name (*a), var_get_name (*b));
}
/* A hsh_compare_func that orders pointers to variables A and B
}
/* A hsh_compare_func that orders pointers to variables A and B
@@
-246,7
+246,7
@@
hash_var_ptr_by_name (const void *v_, const void *aux UNUSED)
{
struct variable *const *v = v_;
{
struct variable *const *v = v_;
- return hash_case_string (var_get_name (*v), 0);
+ return
utf8_
hash_case_string (var_get_name (*v), 0);
}
\f
/* Returns the type of variable V. */
}
\f
/* Returns the type of variable V. */
@@
-535,9
+535,12
@@
var_get_print_format (const struct variable *v)
void
var_set_print_format (struct variable *v, const struct fmt_spec *print)
{
void
var_set_print_format (struct variable *v, const struct fmt_spec *print)
{
- assert (fmt_check_width_compat (print, v->width));
- v->print = *print;
- dict_var_changed (v);
+ if (!fmt_equal (&v->print, print))
+ {
+ assert (fmt_check_width_compat (print, v->width));
+ v->print = *print;
+ dict_var_changed (v);
+ }
}
/* Returns V's write format specification. */
}
/* Returns V's write format specification. */
@@
-554,9
+557,12
@@
var_get_write_format (const struct variable *v)
void
var_set_write_format (struct variable *v, const struct fmt_spec *write)
{
void
var_set_write_format (struct variable *v, const struct fmt_spec *write)
{
- assert (fmt_check_width_compat (write, v->width));
- v->write = *write;
- dict_var_changed (v);
+ if (!fmt_equal (&v->write, write))
+ {
+ assert (fmt_check_width_compat (write, v->width));
+ v->write = *write;
+ dict_var_changed (v);
+ }
}
/* Sets V's print and write format specifications to FORMAT,
}
/* Sets V's print and write format specifications to FORMAT,
@@
-920,8
+926,7
@@
var_set_short_name (struct variable *var, size_t idx, const char *short_name)
for (i = old_cnt; i < var->short_name_cnt; i++)
var->short_names[i] = NULL;
}
for (i = old_cnt; i < var->short_name_cnt; i++)
var->short_names[i] = NULL;
}
- var->short_names[idx] = xstrdup (short_name);
- str_uppercase (var->short_names[idx]);
+ var->short_names[idx] = utf8_to_upper (short_name);
}
dict_var_changed (var);
}
dict_var_changed (var);