|
#include <stdio.h>
|
|
|
|
int fgetpos(FILE *fp, fpos_t *pos)
|
|
{
|
|
if(fp->buf && fp->bufdir == __FILE_BUF_WRITE) {
|
|
*pos = fp->fdpos + fp->bufpos;
|
|
}
|
|
else if(fp->buf && fp->bufdir == __FILE_BUF_READ) {
|
|
*pos = fp->fdpos - fp->bufread + fp->bufpos;
|
|
}
|
|
else {
|
|
*pos = fp->fdpos;
|
|
}
|
|
|
|
return 0;
|
|
}
|