message: Fixes Use +/- for inclusion/exclusion rather than '='
diff: @@ -155,19 +155,21 @@ impl Radeco {
  }
  if args.flag_pipeline.is_some() {
  - let mut i = 0;
  let pipe = args.flag_pipeline.unwrap();
  {
  let mut _tmp_stages = Vec::<usize>::new();
  - let mut _tmp_out = Vec::<u16>::new();
  - for stage in pipe.split(',') {
  - let mut j = 0;
  - if stage.chars().nth(0).unwrap() == '=' {
  - _tmp_out.push(i);
  - j = 1;
  - }
  + let mut exclude = Vec::<u16>::new();
  + for (i, stage) in pipe.split(',').enumerate() {
  + let j = match stage.chars().nth(0).unwrap() {
  + '-' => {
  + exclude.push(i as u16);
  + 1
  + },
  + '+' => 1,
  + _ => 0,
  + };
  +
  let n = match &stage[j..] {
  - "c" | "C" => 7,
  "r2" => 0,
  "esil" => 1,
  "cfg" => 2,
  @@ -175,14 +177,24 @@ impl Radeco {
  "const" => 4,
  "dce" => 5,
  "verify" => 6,
  + "c" => 7,
  _ => {
  - let e = format!("Invalid expression {} in stages", stage[1..].to_owned());
  + let e = format!("Invalid expression {} in stages",
  + stage[1..].to_owned());
  panic!(e)
  },
  };
  _tmp_stages.push(n);
  - i += 1;
  }
  +
  + let mut _tmp_out = Vec::<u16>::new();
  + for i in (0..(pipe.len()-1) as u16) {
  + if exclude.contains(&i) {
  + continue;
  + }
  + _tmp_out.push(i);
  + }
  +
  input.stages = _tmp_stages;
  input.outmodes = Some(_tmp_out);
  }
  