mirror of
https://github.com/cc65/cc65.git
synced 2024-11-18 15:05:14 +00:00
Add support for ungetc, fix non standard compliant behaviour
git-svn-id: svn://svn.cc65.org/cc65/trunk@3037 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
dc16edb6b2
commit
d44cdad9ce
@ -1,7 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* ftell.c
|
* ftell.c
|
||||||
*
|
*
|
||||||
* Christian Groessler, 07-Aug-2000
|
* Christian Groessler, 2000-08-07
|
||||||
|
* Ullrich von Bassewitz, 2004-05-13
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -19,7 +20,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
long __fastcall__ ftell (FILE* f)
|
long __fastcall__ ftell (register FILE* f)
|
||||||
{
|
{
|
||||||
long pos;
|
long pos;
|
||||||
|
|
||||||
@ -29,7 +30,17 @@ long __fastcall__ ftell (FILE* f)
|
|||||||
return -1L;
|
return -1L;
|
||||||
}
|
}
|
||||||
|
|
||||||
pos = lseek(f->f_fd, 0L, SEEK_CUR);
|
/* Call the low level function */
|
||||||
return pos; /* -1 for error, comes from lseek() */
|
pos = lseek (f->f_fd, 0L, SEEK_CUR);
|
||||||
|
|
||||||
|
/* If we didn't have an error, correct the return value in case we have
|
||||||
|
* a pushed back character.
|
||||||
|
*/
|
||||||
|
if (pos > 0 && (f->f_flags & _FPUSHBACK)) {
|
||||||
|
--pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -1 for error, comes from lseek() */
|
||||||
|
return pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user