projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove devind output driver.
[pspp]
/
src
/
value-labels.c
diff --git
a/src/value-labels.c
b/src/value-labels.c
index 16e649687cb577db05891b75f9ee913251d92f6e..8dfbb10ead2a662e37eddd00c58a7bb9869369aa 100644
(file)
--- a/
src/value-labels.c
+++ b/
src/value-labels.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
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., 5
9 Temple Place - Suite 330
, Boston, MA
- 0211
1-1307
, USA. */
+ Foundation, Inc., 5
1 Franklin Street, Fifth Floor
, Boston, MA
+ 0211
0-1301
, USA. */
#include <config.h>
#include "value-labels.h"
#include <config.h>
#include "value-labels.h"
@@
-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;
}
}