Lines Matching defs:src
58 src_setstream(struct source *src, FILE *stream)
60 src->u.stream = stream;
61 src->vtable = &stream_vtable;
65 src_setstring(struct source *src, char *p)
67 src->u.string.buf = (u_char *)p;
68 src->u.string.pos = 0;
69 src->vtable = &string_vtable;
73 src_getcharstream(struct source *src)
75 return src->lastchar = getc(src->u.stream);
79 src_ungetcharstream(struct source *src)
81 (void)ungetc(src->lastchar, src->u.stream);
85 src_freestream(struct source *src)
90 src_getlinestream(struct source *src)
94 if (fgets(buf, BUFSIZ, src->u.stream) == NULL)
100 src_getcharstring(struct source *src)
102 src->lastchar = src->u.string.buf[src->u.string.pos];
103 if (src->lastchar == '\0')
106 src->u.string.pos++;
107 return src->lastchar;
112 src_ungetcharstring(struct source *src)
114 if (src->u.string.pos > 0) {
115 if (src->lastchar != '\0')
116 --src->u.string.pos;
121 src_getlinestring(struct source *src)
128 ch = src_getcharstring(src);
140 src_freestring(struct source *src)
142 free(src->u.string.buf);
178 readnumber(struct source *src, u_int base)
190 while ((ch = (*src->vtable->readchar)(src)) != EOF) {
205 (*src->vtable->unreadchar)(src);
230 read_string(struct source *src)
242 while ((ch = (*src->vtable->readchar)(src)) != EOF) {