Lines Matching refs:p

27 #define VALID(p,f)	((p=(Sfstr_t*)f)>=&strs[0]&&p<&strs[elementsof(strs)])  argument
32 extend(Sfstr_t* p, int n) in extend() argument
38 n += p->end - p->beg; in extend()
39 o = p->nxt - p->beg; in extend()
40 if (!(p->beg = realloc(p->beg, n))) in extend()
42 p->nxt = p->beg + o; in extend()
43 p->end = p->beg + n; in extend()
50 Sfstr_t* p; in sfclose() local
53 if (VALID(p, f)) in sfclose()
55 p->nxt = 0; in sfclose()
66 Sfstr_t* p; in sfprintf() local
74 if (!VALID(p, f)) in sfprintf()
99 Sfstr_t* p; in sfputc() local
102 if (VALID(p, f)) in sfputc()
104 if (p->nxt >= p->end && extend(p, 1)) in sfputc()
106 *p->nxt++ = c; in sfputc()
117 Sfstr_t* p; in sfputr() local
122 if (VALID(p, f)) in sfputr()
125 if (r > (p->end - p->nxt) && extend(p, r)) in sfputr()
127 memcpy(p->nxt, buf, n); in sfputr()
128 p->nxt += n; in sfputr()
130 *p->nxt++ = sep; in sfputr()
144 Sfstr_t* p; in sfstrbase() local
146 if (VALID(p, f)) in sfstrbase()
147 return p->beg; in sfstrbase()
154 Sfstr_t* p; in sfstropen() local
156 for (p = &strs[0]; p < &strs[elementsof(strs)]; p++) in sfstropen()
157 if (!p->nxt) in sfstropen()
159 if (!p->beg) in sfstropen()
161 if (!(p->beg = malloc(STR))) in sfstropen()
163 p->end = p->beg + STR; in sfstropen()
165 p->nxt = p->beg; in sfstropen()
166 return (Sfio_t*)p; in sfstropen()
171 #define _sf_strseek(f,p,m) \ argument
173 (((p) < 0 || (p) > ((f)->end - (f)->beg)) ? (char*)0 : \
174 (char*)((f)->nxt = (f)->beg+(p)) ) \
176 ((f)->nxt += (p), \
178 ((f)->nxt -= (p), (char*)0) : (char*)(f)->nxt ) ) \
180 ( ((p) > 0 || (((f)->end - (f)->beg) + (p)) < 0) ? (char*)0 : \
181 (char*)((f)->nxt = (f)->end+(p)) ) \
188 Sfstr_t* p; in sfstrseek() local
190 if (VALID(p, f)) in sfstrseek()
191 return _sf_strseek(p, n, w); in sfstrseek()
198 Sfstr_t* p; in sfstrset() local
200 if (VALID(p, f) && n >= 0 && n < (p->nxt - p->beg)) in sfstrset()
201 return p->nxt = p->beg + n; in sfstrset()
208 Sfstr_t* p; in sfstrtell() local
211 if (VALID(p, f) && p->nxt) in sfstrtell()
212 r = p->nxt - p->beg; in sfstrtell()
221 Sfstr_t* p; in sfstruse() local
223 if (VALID(p, f) && (p->nxt < p->end || !extend(p, 1))) in sfstruse()
225 *p->nxt = 0; in sfstruse()
226 return p->nxt = p->beg; in sfstruse()
234 Sfstr_t* p; in sfwrite() local
236 if (VALID(p, f)) in sfwrite()
238 if (n > (p->end - p->nxt) && extend(p, n)) in sfwrite()
240 memcpy(p->nxt, buf, n); in sfwrite()
241 p->nxt += n; in sfwrite()