if ((*fpos + len) >= n) { len = n - *fpos; } 
if ((*fpos + len) >= n) { len = n - *fpos; } 
static ssize_t i8k_read(struct file *f, char __user *buffer, size_t len, loff_t *fpos){    int n;    char info[128];    n = i8k_get_info(info, NULL, 0, 128);    if (n <= 0) {	return n;    }    if (*fpos >= n) {	return 0;    }    if ((*fpos + len) >= n) {	len = n - *fpos;    }    if (copy_to_user(buffer, info, len) != 0) {	return -EFAULT;    }    *fpos += len;    return len;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/dec63ec32ea486ab915138e8790084c22a3f7bf6/i8k.c/clean/drivers/char/i8k.c