#include "str.h"
#include "var.h"
-#undef DEBUGGING
-/*#define DEBUGGING 1*/
#include "debug-print.h"
-#if DEBUGGING
-static void debug_print (void);
-#endif
-
int
cmd_variable_labels (void)
{
int i;
- lex_match_id ("VARIABLE");
- lex_match_id ("LABELS");
- lex_match ('/');
do
{
- parse_variables (NULL, &v, &nv, PV_NONE);
+ if (!parse_variables (default_dict, &v, &nv, PV_NONE))
+ return CMD_PART_SUCCESS_MAYBE;
if (token != T_STRING)
{
free (v);
return CMD_PART_SUCCESS_MAYBE;
}
- if (ds_length (&tokstr) > 120)
+ if (ds_length (&tokstr) > 255)
{
- msg (SW, _("Truncating variable label to 120 characters."));
- ds_truncate (&tokstr, 120);
+ msg (SW, _("Truncating variable label to 255 characters."));
+ ds_truncate (&tokstr, 255);
}
for (i = 0; i < nv; i++)
{
if (v[i]->label)
free (v[i]->label);
- v[i]->label = xstrdup (ds_value (&tokstr));
+ v[i]->label = xstrdup (ds_c_str (&tokstr));
}
lex_get ();
free (v);
}
while (token != '.');
-#if DEBUGGING
- debug_print ();
-#endif
return CMD_SUCCESS;
}
-#if DEBUGGING
-static void
-debug_print (void)
+
+
+const char *
+var_to_string(const struct variable *var)
{
- int i;
+ if ( !var )
+ return 0;
- printf (_("Variable labels:\n"));
- for (i = 0; i < nvar; i++)
- {
- printf (" %8s: ", var[i]->name);
- if (var[i]->label)
- printf ("`%s'", var[i]->label);
- else
- printf (_("(no variable label)"));
- printf ("\n");
- }
+ return ( var->label ? var->label : var->name);
}
-#endif /* DEBUGGING */