shithub: mc

Download patch

ref: 637aad1be46d7ed9dfafd103dd57a4cbdcba9ca0
parent: a8a99dd9a47f30f7d50492650345e9dc346b57db
author: Ori Bernstein <[email protected]>
date: Mon Jun 11 09:12:18 EDT 2012

When using conditional jumps, use the labels.

    Conditional jump args are expr, label, label. We were using
    the first two (ie, expr, label) as the jump targets, instead
    of the last two (ie, label, label). Predictably, this didn't work.

--- a/opt/df.c
+++ b/opt/df.c
@@ -85,8 +85,8 @@
                 b = NULL;
                 break;
             case Ocjmp:
-                a = cfg->fixjmp[i]->expr.args[0];
-                b = cfg->fixjmp[i]->expr.args[1];
+                a = cfg->fixjmp[i]->expr.args[1];
+                b = cfg->fixjmp[i]->expr.args[2];
                 break;
             default:
                 die("Bad jump fix thingy");