struct list_head *p, *next; for (p = c->hash[pos].next; p != &c->hash[pos]; p = next) { /* We need a reference to the next file in the list because `func' might remove the current file `f'.  */ next = p->next; r = func(list_entry(p, struct jffs_file, hash)); 
struct jffs_file *f, *next;  /* We must do _safe, because 'func' might remove the current file 'f' from the list.  */ list_for_each_entry_safe(f, next, &c->hash[pos], hash) { r = func(f); 
jffs_foreach_file(struct jffs_control *c, int (*func)(struct jffs_file *)){	int pos;	int r;	int result = 0;	for (pos = 0; pos < c->hash_len; pos++) {		struct list_head *p, *next;		for (p = c->hash[pos].next; p != &c->hash[pos]; p = next) {			/* We need a reference to the next file in the			   list because `func' might remove the current			   file `f'.  */			next = p->next;			r = func(list_entry(p, struct jffs_file, hash));			if (r < 0)				return r;			result += r;		}	}	return result;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/216d81bb35fc50923993462cc4fbc7029f9be1a9/intrep.c/clean/fs/jffs/intrep.c