From: Ben Pfaff Date: Sun, 21 Dec 2025 18:24:12 +0000 (-0800) Subject: work on legacy output X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b120134e3801154525f8389672e5a70245d762a8;p=pspp work on legacy output --- diff --git a/rust/pspp/src/spv/read/legacy_xml.rs b/rust/pspp/src/spv/read/legacy_xml.rs index 3ce50353a2..f343a00a1d 100644 --- a/rust/pspp/src/spv/read/legacy_xml.rs +++ b/rust/pspp/src/spv/read/legacy_xml.rs @@ -479,24 +479,27 @@ impl Visualization { println!("categories {start}..={end} have same value {dv1:?}"); } else { let name = variable.map.lookup(dv1); - let next_cat = if end - start > 1 || name.is_number_or(|s| !s.is_empty()) { + if name.is_number_or(|s| !s.is_empty()) { let name = variable.new_name(dv1, footnotes); let mut group = Group::new(name); for i in start..end { group.push(cats[i].category.clone()); } - CatBuilder { + let next_cat = CatBuilder { category: Category::from(group), index: cats[start].index, leaves: cats[start].leaves.start..cats[end - 1].leaves.end, location: cats[start].location.parent(), - } + }; + coordinate_to_index + .insert(dv1.category().unwrap() /*XXX?*/, next_cat.location); + next_cats.push(next_cat); } else { - cats[start].clone() + // XXX coordinate_to_index? + for cat in &cats[start..end] { + next_cats.push(cat.clone()); + } }; - coordinate_to_index - .insert(dv1.category().unwrap() /*XXX?*/, next_cat.location); - next_cats.push(next_cat); start = end; } }