summaryrefslogtreecommitdiff
path: root/src/internal/shgetc.h
blob: 7beb8ce62182b64bb6f7349640b6f2d833b113c3 (plain) (blame)
1
2
3
4
5
6
7
8
9
#include "stdio_impl.h"

void __shlim(FILE *, off_t);
int __shgetc(FILE *);

#define shcnt(f) ((f)->shcnt + ((f)->rpos - (f)->rend))
#define shlim(f, lim) __shlim((f), (lim))
#define shgetc(f) (((f)->rpos < (f)->shend) ? *(f)->rpos++ : __shgetc(f))
#define shunget(f) ((f)->shend ? (void)(f)->rpos-- : (void)0)