Hideki, Hmm. Only theoreticaly first see (may be wrong): > +static void skip_input(FILE *fp, unsigned long skip, const char *filename) > +{ > + if (skip > 0 && lseek(fileno(fp), skip, SEEK_CUR) < 0) { You use lseek + getc. Your skiping make double size. > + while (skip-- > 0) { > + if (getc(fp) == EOF) { --w vodz