summaryrefslogtreecommitdiff
path: root/src/internal/shgetc.h
blob: 0543cb0dc5493fbd0a644832eee122021081eb4a (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)->rend ? (void)(f)->rpos-- : (void)0)