Print this page
7085 add support for "if" and "else" statements in dtrace

@@ -23,10 +23,14 @@
 #
 # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 
+#
+# Copyright (c) 2014 by Delphix. All rights reserved.
+#
+
 require 5.8.4;
 
 $PNAME = $0;
 $PNAME =~ s:.*/::;
 $USAGE = "Usage: $PNAME [file ...]\n";

@@ -129,21 +133,22 @@
                 if (/^{}$/) {
                         next;
                 }
 
                 if (!/^enum/ && !/^\t*struct/ && !/^\t*union/ && !/^typedef/ &&
-                    !/^translator/ && !/^provider/) {
+                    !/^translator/ && !/^provider/ && !/\tif / &&
+                    !/ else /) {
                         if (/[\w\s]+{/) {
                                 err "left brace not on its own line";
                         }
 
                         if (/{[\w\s]+/) {
                                 err "left brace not on its own line";
                         }
                 }
 
-                if (!/;$/) {
+                if (!/;$/ && !/\t*}$/ && !/ else /) {
                         if (/[\w\s]+}/) {
                                 err "right brace not on its own line";
                         }
 
                         if (/}[\w\s]+/) {