Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-release > by-pkgid > 589b38626859682dda0b4289ae4806af > files > 171

coccinelle-examples-1.0.7-2.mga7.i586.rpm

@ rule1 @
identifier buffer, start, offset, length, inout, hostno;
identifier hostptr;
identifier proc_info_func;
@@
  proc_info_func (
+      struct Scsi_Host *hostptr,
       char *buffer, char **start, off_t offset, int length, 
-      int hostno, 
       int inout) {
    ...
-   struct Scsi_Host *hostptr;
    ...
-   hostptr = scsi_host_hn_get(hostno);
    ...
?-  if (!hostptr) { ... return ...; }
    ...
?-  scsi_host_put(hostptr);
    ...
  }

//alt: 
//-  proc_info_func(char *buffer, char **start, off_t offset, int length, 
//-                 int hostno, int inout) 
//+ proc_info_func(struct Scsi_Host *hostptr, char *buffer, char **start, 
//+                off_t offset, int length, int inout)
//{



@@
identifier rule1.proc_info_func;
identifier rule1.hostno;
@@
  proc_info_func(...) {
    <...
-   hostno
+   hostptr->host_no
    ...>
  }

@@ 
identifier func; 
expression buffer, start, offset, length, inout, hostno;
identifier hostptr;
identifier rule1.proc_info_func;
@@

 func(..., struct Scsi_Host *hostptr, ...) {
  <...
   proc_info_func(
+       hostptr,
        buffer, start, offset, length, 
-       hostno,
        inout)
   ...>
 }