From 7ac221e43a94132f30d4ca6770efa47bd74f6566 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Tue, 17 Mar 2015 00:03:33 -0700 Subject: 942 --- cpp/024brace | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'cpp') diff --git a/cpp/024brace b/cpp/024brace index 5a2d346f..72318faa 100644 --- a/cpp/024brace +++ b/cpp/024brace @@ -76,7 +76,7 @@ void transform_braces(const recipe_number r) { } else { reagent ing(0); // literal - ing.value = index - matching_brace(open_braces.top(), braces) - 1; + ing.value = matching_brace(open_braces.top(), braces) - index - 1; inst.ingredients.push_back(ing); trace("after-brace") << "jump " << ing.value << ":offset"; } @@ -90,10 +90,11 @@ void transform_braces(const recipe_number r) { size_t matching_brace(size_t index, const list >& braces) { int stacksize; for (list >::const_iterator p = braces.begin(); p != braces.end(); ++p) { - if (p->second <= index) continue; + if (p->second < index) continue; stacksize += (p->first ? 1 : -1); - if (stacksize == -1) return p->second; + if (stacksize == 0) return p->second; } + assert(false); return -1; } -- cgit 1.4.1-2-gfad0