- else
- {
- destvar = dict_create_var (agr->dict, dest[i], output_width);
- if (output_width == 0)
- destvar->print = destvar->write = function->format;
- if (output_width == 0 && dict_get_weight (default_dict) != NULL
- && (func_index == N || func_index == N_NO_VARS
- || func_index == NU || func_index == NU_NO_VARS))
- {
- struct fmt_spec f = {FMT_F, 8, 2};
-
- destvar->print = destvar->write = f;
- }
- }
+ else if (v->src->type == NUMERIC
+ || function->alpha_type == NUMERIC)
+ {
+ destvar = dict_create_var (agr->dict, dest[i], 0);
+
+ if ((func_index == N
+ || func_index == N_NO_VARS
+ || func_index == NMISS)
+ && dict_get_weight (default_dict) != NULL)
+ {
+ static const struct fmt_spec f8_2 = {FMT_F, 8, 2};
+
+ destvar->print = destvar->write = f8_2;
+ }
+ else
+ destvar->print = destvar->write = function->format;
+ }
+ else
+ destvar = dict_create_var (agr->dict, dest[i],
+ v->src->width);