@@
local idexpression d;
expression e;
expression *ptr != NULL;
@@
while ((d = \(pci_get_device\|pci_get_device_reverse\|pci_get_subsys\|pci_get_class\)(..., d)) != NULL)
{... when != pci_dev_put(d)
when != e = d
(
return \(<+...d...+>\|ptr\);
|
+ pci_dev_put(d);
? return ...;
)
...}
@@
local idexpression d;
expression e;
expression *ptr != NULL;
iterator name for_each_pci_dev;
@@
for_each_pci_dev(d)
{... when != pci_dev_put(d)
when != e = d
(
return \(<+...d...+>\|ptr\);
|
+ pci_dev_put(d);
? return ...;
)
...}