Index: /trunk/coverager.c
===================================================================
--- /trunk/coverager.c	(revision 212)
+++ /trunk/coverager.c	(revision 228)
@@ -396,18 +396,19 @@
 
 	size = op_array->size;
-#ifdef ZEND_ENGINE_2
-	if (op_array->opcodes[size - 1].opcode == ZEND_HANDLE_EXCEPTION) {
-		size --;
-#endif
-		if (op_array->opcodes[size - 1].opcode == ZEND_RETURN) {
-			size --;
-			/* it's not real php statement */
-			if (op_array->opcodes[size - 1].opcode == ZEND_EXT_STMT) {
+	do {
+next_op:
+		if (size == 0) {
+			break;
+		}
+		switch (op_array->opcodes[size - 1].opcode) {
+#ifdef ZEND_HANDLE_EXCEPTION
+			case ZEND_HANDLE_EXCEPTION:
+#endif
+			case ZEND_RETURN:
+			case ZEND_EXT_STMT:
 				size --;
-			}
-		}   
-#ifdef ZEND_ENGINE_2
-	}
-#endif
+				goto next_op;
+		}
+	} while (0);
 	return size;
 }
