[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pspp-cvs] Changes to pspp/src/value-labels.c
From: |
Ben Pfaff |
Subject: |
[Pspp-cvs] Changes to pspp/src/value-labels.c |
Date: |
Tue, 25 Oct 2005 00:28:22 -0400 |
Index: pspp/src/value-labels.c
diff -u pspp/src/value-labels.c:1.10 pspp/src/value-labels.c:1.11
--- pspp/src/value-labels.c:1.10 Fri Apr 29 01:02:16 2005
+++ pspp/src/value-labels.c Tue Oct 25 04:28:17 2005
@@ -496,29 +496,23 @@
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;
- const struct val_labs *val_labs ;
- if ( !val || ! var )
- return 0;
+ assert (val != NULL);
+ assert (var != NULL);
- val_labs = var->val_labs;
-
-
- s = val_labs_find (val_labs, *val);
-
- 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;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pspp-cvs] Changes to pspp/src/value-labels.c,
Ben Pfaff <=