- arc.src_values_pool = pool_create ();
- arc.dst_vars = xnmalloc (arc.var_cnt, sizeof *arc.dst_vars);
- arc.src_values = xnmalloc (arc.var_cnt, sizeof *arc.src_values);
- for (i = 0; i < dst_cnt; i++)
- if (var_is_alpha (arc.src_vars[i]))
- arc.src_values[i] = hsh_create (10, compare_alpha_value,
- hash_alpha_value, NULL, arc.src_vars[i]);
- else
- arc.src_values[i] = hsh_create (10, compare_numeric_value,
- hash_numeric_value, NULL, NULL);
-
- proc_open (ds);
- while (proc_read (ds, &c))
- for (i = 0; i < arc.var_cnt; i++)
- {
- union arc_value v, *vp, **vpp;
-
- if (var_is_numeric (arc.src_vars[i]))
- v.f = case_num (c, arc.src_vars[i]);
- else
- v.c = (char *) case_str (c, arc.src_vars[i]);