projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Moved EXPORT comments to new header file
[pspp-builds.git]
/
src
/
value-labels.c
diff --git
a/src/value-labels.c
b/src/value-labels.c
index 7cd8ff0daa3cd76c5d3aa902dbd13da8052453d9..cff267f09df9848b1e5fcc66c4bac9d407fac915 100644
(file)
--- a/
src/value-labels.c
+++ b/
src/value-labels.c
@@
-220,7
+220,7
@@
val_labs_remove (struct val_labs *vls, union value value)
if (vls->labels != NULL)
{
struct int_val_lab *ivl = create_int_val_lab (vls, value, "");
if (vls->labels != NULL)
{
struct int_val_lab *ivl = create_int_val_lab (vls, value, "");
- int deleted = hsh_delete (vls->labels,
&
ivl);
+ int deleted = hsh_delete (vls->labels, ivl);
free (ivl);
return deleted;
}
free (ivl);
return deleted;
}
@@
-496,29
+496,23
@@
free_atom (void *atom_, void *aux UNUSED)
else format it and return the formatted string
*/
const char *
else format it and return the formatted string
*/
const char *
-value_to_string(const union value *val, const struct variable *var)
+value_to_string
(const union value *val, const struct variable *var)
{
{
- static char buf[100];
char *s;
char *s;
- const struct val_labs *val_labs ;
- if ( !val || ! var )
- return 0;
-
- val_labs = var->val_labs;
-
-
- s = val_labs_find (val_labs, *val);
+ assert (val != NULL);
+ assert (var != NULL);
- if ( s )
- return s;
-
- if ( 0 == var->width )
- snprintf(buf,100,"%g",val->f);
- else
+ s = val_labs_find (var->val_labs, *val);
+ if (s == NULL)
{
{
- strncpy(buf,val->s,MAX_SHORT_STRING);
- strcat(buf,"\0");
+ static char buf[256];
+ if (var->width != 0)
+ str_copy_buf_trunc (buf, sizeof buf, val->s, var->width);
+ else
+ snprintf(buf, 100, "%g", val->f);
+ s = buf;
}
}
- return buf;
+
+ return s;
}
}