OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [newlib-1.10.0/] [newlib/] [libc/] [stdio/] [fgetpos.c] - Diff between revs 1010 and 1765

Only display areas with differences | Details | Blame | View Log

Rev 1010 Rev 1765
/*
/*
FUNCTION
FUNCTION
<<fgetpos>>---record position in a stream or file
<<fgetpos>>---record position in a stream or file
 
 
INDEX
INDEX
        fgetpos
        fgetpos
 
 
ANSI_SYNOPSIS
ANSI_SYNOPSIS
        #include <stdio.h>
        #include <stdio.h>
        int fgetpos(FILE *<[fp]>, fpos_t *<[pos]>);
        int fgetpos(FILE *<[fp]>, fpos_t *<[pos]>);
 
 
TRAD_SYNOPSIS
TRAD_SYNOPSIS
        #include <stdio.h>
        #include <stdio.h>
        int fgetpos(<[fp]>, <[pos]>)
        int fgetpos(<[fp]>, <[pos]>)
        FILE *<[fp]>;
        FILE *<[fp]>;
        fpos_t *<[pos]>;
        fpos_t *<[pos]>;
 
 
DESCRIPTION
DESCRIPTION
Objects of type <<FILE>> can have a ``position'' that records how much
Objects of type <<FILE>> can have a ``position'' that records how much
of the file your program has already read.  Many of the <<stdio>> functions
of the file your program has already read.  Many of the <<stdio>> functions
depend on this position, and many change it as a side effect.
depend on this position, and many change it as a side effect.
 
 
You can use <<fgetpos>> to report on the current position for a file
You can use <<fgetpos>> to report on the current position for a file
identified by <[fp]>; <<fgetpos>> will write a value
identified by <[fp]>; <<fgetpos>> will write a value
representing that position at <<*<[pos]>>>.  Later, you can
representing that position at <<*<[pos]>>>.  Later, you can
use this value with <<fsetpos>> to return the file to this
use this value with <<fsetpos>> to return the file to this
position.
position.
 
 
In the current implementation, <<fgetpos>> simply uses a character
In the current implementation, <<fgetpos>> simply uses a character
count to represent the file position; this is the same number that
count to represent the file position; this is the same number that
would be returned by <<ftell>>.
would be returned by <<ftell>>.
 
 
RETURNS
RETURNS
<<fgetpos>> returns <<0>> when successful.  If <<fgetpos>> fails, the
<<fgetpos>> returns <<0>> when successful.  If <<fgetpos>> fails, the
result is <<1>>.  Failure occurs on streams that do not support
result is <<1>>.  Failure occurs on streams that do not support
positioning; the global <<errno>> indicates this condition with the
positioning; the global <<errno>> indicates this condition with the
value <<ESPIPE>>.
value <<ESPIPE>>.
 
 
PORTABILITY
PORTABILITY
<<fgetpos>> is required by the ANSI C standard, but the meaning of the
<<fgetpos>> is required by the ANSI C standard, but the meaning of the
value it records is not specified beyond requiring that it be
value it records is not specified beyond requiring that it be
acceptable as an argument to <<fsetpos>>.  In particular, other
acceptable as an argument to <<fsetpos>>.  In particular, other
conforming C implementations may return a different result from
conforming C implementations may return a different result from
<<ftell>> than what <<fgetpos>> writes at <<*<[pos]>>>.
<<ftell>> than what <<fgetpos>> writes at <<*<[pos]>>>.
 
 
No supporting OS subroutines are required.
No supporting OS subroutines are required.
*/
*/
 
 
#include <stdio.h>
#include <stdio.h>
 
 
int
int
_DEFUN (fgetpos, (fp, pos),
_DEFUN (fgetpos, (fp, pos),
        FILE * fp _AND
        FILE * fp _AND
        fpos_t * pos)
        fpos_t * pos)
{
{
  *pos = ftell (fp);
  *pos = ftell (fp);
 
 
  if (*pos != -1)
  if (*pos != -1)
    return 0;
    return 0;
  return 1;
  return 1;
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.