I'm having some problems with this little function that can read a file:  

```
void ReadFile(char *name) {
FILE *fr;
int lenght, i;
fr = fopen(name, "r");  //Open the file reader
fseek(fr, 0, 2);        //Set the pointer at the EOF
lenght = ftell(fr);     //Read the ending position
printf("\nDEBUG lenght:%d\n", lenght);
fseek(fr, 0, 0);        //Return at the beginning of the file

printf("File read:\n\n");
for (i = 1; i <= lenght; i++) {
    printf("%c", getc(fr));
    fseek(fr, i, 0);
}
fclose(fr);
}

```

This is the file that it reads:

```
qwerty

asdfgh
zxcvbn

```

But this is the output of the program:

```
DEBUG lenght:24
File read:

qwerty

asdfgh

zxcvbn

```

It is basically reading an extra "\n" when there is one before.  

Any ideas of why the code doesn't work?  

Thanks