lkml.org 
[lkml]   [2010]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 07/18] Coccinelle: Add iterators/fen.cocci
    Date
    for_each_node iterators only exit normally when the loop cursor is
    NULL, so there is no point to call of_node_put on the final value.

    Signed-off-by: Nicolas Palix <npalix@diku.dk>
    Signed-off-by: Julia Lawall <julia@diku.dk>
    ---
    scripts/coccinelle/iterators/fen.cocci | 64 ++++++++++++++++++++++++++++++++
    1 files changed, 64 insertions(+), 0 deletions(-)
    create mode 100644 scripts/coccinelle/iterators/fen.cocci

    diff --git a/scripts/coccinelle/iterators/fen.cocci b/scripts/coccinelle/iterators/fen.cocci
    new file mode 100644
    index 0000000..77bc108
    --- /dev/null
    +++ b/scripts/coccinelle/iterators/fen.cocci
    @@ -0,0 +1,64 @@
    +/// These iterators only exit normally when the loop cursor is NULL, so there
    +/// is no point to call of_node_put on the final value.
    +///
    +// Confidence: High
    +// Copyright: (C) 2010 Nicolas Palix, DIKU. GPLv2.
    +// Copyright: (C) 2010 Julia Lawall, DIKU. GPLv2.
    +// Copyright: (C) 2010 Gilles Muller, INRIA/LiP6. GPLv2.
    +// URL: http://coccinelle.lip6.fr/
    +// Comments:
    +// Options: -no_includes -include_headers
    +
    +virtual patch
    +
    +@@
    +iterator name for_each_node_by_name;
    +expression np,E;
    +identifier l;
    +@@
    +
    +for_each_node_by_name(np,...) {
    + ... when != break;
    + when != goto l;
    +}
    +... when != np = E
    +- of_node_put(np);
    +
    +@@
    +iterator name for_each_node_by_type;
    +expression np,E;
    +identifier l;
    +@@
    +
    +for_each_node_by_type(np,...) {
    + ... when != break;
    + when != goto l;
    +}
    +... when != np = E
    +- of_node_put(np);
    +
    +@@
    +iterator name for_each_compatible_node;
    +expression np,E;
    +identifier l;
    +@@
    +
    +for_each_compatible_node(np,...) {
    + ... when != break;
    + when != goto l;
    +}
    +... when != np = E
    +- of_node_put(np);
    +
    +@@
    +iterator name for_each_matching_node;
    +expression np,E;
    +identifier l;
    +@@
    +
    +for_each_matching_node(np,...) {
    + ... when != break;
    + when != goto l;
    +}
    +... when != np = E
    +- of_node_put(np);
    --
    1.7.0.4


    \
     
     \ /
      Last update: 2010-08-24 17:47    [W:4.560 / U:0.192 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site