Le encontrais algun fallo???????
Es una funcion ke introduciendole una palabra busca dentro de una lista a ver cuantas veces sale en el apartado de averia.la estructura de la lista seria esta:
typedef struct
{char matri[9];
 char nbp[25];
 char averia[50];
 int tav;
 struct time hora;
 struct time horapre;
 struct date fecha;
 struct date fechapre;
 }datos;
la funcion debe buscar en el array averia de cada componente de la lista  aver si sale esta palabra.
Yo es ke o estoy muy ofuscado ya o no le veo el fallo.
A ver si me podeis ayudar
 void conbusc(lista l,char pal[])
 {lista aux;
  aux=l;
  int i,z,k,j,w;
  z=strlen(pal)-1;
   while(aux!=NULL)
   { w=0;
     for(i=0;i<strlen(aux->a.averia)-1;i++)
      {
         if(aux->a.averia
==' ')
           {
             for(k=i+1,j=0;k<z;k++,j++)
               if(pal[j]==aux->a.averia[k])
                 w++;
              if(w==z)
              {printf("n Matricula: %s",aux->a.matri);
              printf("n Propietario: %s",aux->a.nbp);
               }
            }
        }
      aux=aux->enlace;
     }
}