Staging: lustre: Replace GOTO macro with necessary code
The GOTO macro is neither standard in Linux nor does its definiton contain much useful code. Hence GOTO can be replaced with useful parts of its definition. In a statement like GOTO(label, rc), the replacing code will be goto label if rc is a constant or a variable. But in cases like GOTO(label, e) where e is an assignment statement, both assignment and goto statements are kept. This patch was done using Coccinelle and the following semantic patch was used: @@ identifier rc,label; expression e; constant c; @@ ( -GOTO(label,rc = e); +rc = e; +goto label; | -GOTO(label,rc); +goto label; | -GOTO(label,c); +goto label; ) Signed-off-by: Tina Johnson <tinajohnson.1234@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing
This diff is collapsed.
Please register or sign in to comment