Use ir_unop_b2i when converting a bool-to-int and add a missing break

The previous code just had dumb cut-and-paste errors.
diff --git a/ast_function.cpp b/ast_function.cpp
index 300108c..06498b0 100644
--- a/ast_function.cpp
+++ b/ast_function.cpp
@@ -154,8 +154,9 @@
 	 return new ir_expression(ir_unop_f2i, desired_type, src, NULL);
       else {
 	 assert(b == GLSL_TYPE_BOOL);
-	 return new ir_expression(ir_unop_f2b, desired_type, src, NULL);
+	 return new ir_expression(ir_unop_b2i, desired_type, src, NULL);
       }
+      break;
    case GLSL_TYPE_FLOAT:
       switch (b) {
       case GLSL_TYPE_UINT: