projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Change type of variables whose addresses are passed to dict_get_vars()
[pspp]
/
src
/
value-labels.c
diff --git
a/src/value-labels.c
b/src/value-labels.c
index 4c1d1a5f234d4b79250784bf9e711b4e34d0c600..7cd8ff0daa3cd76c5d3aa902dbd13da8052453d9 100644
(file)
--- a/
src/value-labels.c
+++ b/
src/value-labels.c
@@
-14,16
+14,16
@@
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 "error.h"
#include <stdlib.h>
#include <config.h>
#include "value-labels.h"
#include "error.h"
#include <stdlib.h>
-#include <string.h>
#include "alloc.h"
#include "hash.h"
#include "alloc.h"
#include "hash.h"
+#include "str.h"
static hsh_compare_func compare_int_val_lab;
static hsh_hash_func hash_int_val_lab;
static hsh_compare_func compare_int_val_lab;
static hsh_hash_func hash_int_val_lab;
@@
-498,8
+498,15
@@
free_atom (void *atom_, void *aux UNUSED)
const char *
value_to_string(const union value *val, const struct variable *var)
{
const char *
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 = var->val_labs;
+ const struct val_labs *val_labs ;
+
+ if ( !val || ! var )
+ return 0;
+
+ val_labs = var->val_labs;
+
s = val_labs_find (val_labs, *val);
s = val_labs_find (val_labs, *val);
@@
-507,12
+514,11
@@
value_to_string(const union value *val, const struct variable *var)
return s;
if ( 0 == var->width )
return s;
if ( 0 == var->width )
+ snprintf(buf,100,"%g",val->f);
+ else
{
{
- static char buf[100];
- snprintf(buf,100,"%g",val->f);
- return buf;
+ strncpy(buf,val->s,MAX_SHORT_STRING);
+ strcat(buf,"\0");
}
}
- else
- return val->s;
-
+ return buf;
}
}