Lines Matching defs:sc

72 #define SCinit(sc,ds)	((sc)->inp = (sc)->error = -1, (sc)->f = f, \
73 ((sc)->width = (ds) ? width : -1), \
74 (sc)->d = d, (sc)->endd = endd, (sc)->data = data, \
75 (sc)->peek = peek, (sc)->n_input = n_input)
76 #define SCend(sc,ds) (inp = (sc)->inp, f = (sc)->f, \
77 (width = (ds) ? (sc)->width : width), \
78 d = (sc)->d, endd = (sc)->endd, data = (sc)->data, \
79 peek = (sc)->peek, n_input = (sc)->n_input)
89 Scan_t *sc = (Scan_t*)arg;
92 { sc->error = flag;
97 if(sc->width == 0)
98 { sc->inp = -1;
102 if(sc->d >= sc->endd) /* refresh local buffer */
103 { sc->n_input += sc->d - sc->data;
104 if(sc->peek)
105 SFREAD(sc->f, sc->data, sc->d - sc->data);
106 else sc->f->next = sc->d;
108 _sfbuf(sc->f, &sc->peek);
109 sc->data = sc->d = sc->f->next;
110 sc->endd = sc->f->endb;
112 if(sc->d >= sc->endd)
113 { sc->inp = -1;
118 if((sc->width -= 1) >= 0) /* from _sfdscan */
119 return (sc->inp = (int)(*sc->d++));
120 else return ((int)(*sc->d++));
230 #define SFgetwc(sc,wc,fmt,ac,mbs) _sfgetwc(sc,wc,fmt,ac,(Void_t*)(mbs))
232 #define SFgetwc(sc,wc,fmt,ac,mbs) _sfgetwc(sc,wc,fmt,ac,NIL(Void_t*))
236 static int _sfgetwc(Scan_t* sc, wchar_t* wc, int fmt, Accept_t* ac, Void_t *mbs)
238 static int _sfgetwc(sc, wc, fmt, ac, mbs)
239 Scan_t* sc; /* the scanning handle */
251 if(sc->d > sc->f->data && (n = sc->endd - sc->d) > 0 && n < SFMBMAX)
252 { memcpy(sc->f->data, sc->d, n);
253 if(sc->f->endr == sc->f->endb)
254 sc->f->endr = sc->f->data+n;
255 if(sc->f->endw == sc->f->endb)
256 sc->f->endw = sc->f->data+n;
257 sc->f->endb = sc->f->data+n;
258 sc->d = sc->data = sc->f->data;
259 sc->endd = sc->f->endb;
260 if(!mbs) sc->f->endb = sc->endd; /* stop cc's "unused mbs" warning */
264 { if((v = _scgetc((Void_t*)sc, 0)) <= 0)
294 if((sc->d -= n) < sc->data)
295 sc->d = sc->data;