summaryrefslogtreecommitdiff
path: root/src/stdio/fgetpos.c
blob: 8e6d201eda3c453df5e10b8d48759127377f4749 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#include "_stdio.h"

/** get the file stream position indicator **/

int fgetpos(FILE * restrict stream, fpos_t * restrict pos)
{
	SIGNAL_SAFE(0);
	ASSERT_NOOVERLAP(stream, sizeof(*stream), pos, sizeof(*pos));

	flockfile(stream);
	*pos = stream->pos;
	funlockfile(stream);
	return 0;
}

/***
stores the current value of the file position indicator
for ARGUMENT(stream) into the TYPEDEF(fpos_t) at ARGUMENT(pos).
***/

/*
UNSPECIFIED(The information stored in TYPEDEF(fpos_t))
STDC(1)
*/