Lines Matching refs:xs
19 #define Xinit(xs, xp, length, area) do { \
20 (xs).len = length; \
21 (xs).areap = (area); \
22 (xs).beg = alloc((xs).len + X_EXTRA, (xs).areap); \
23 (xs).end = (xs).beg + (xs).len; \
24 xp = (xs).beg; \
29 #define Xput(xs, xp, c) (*xp++ = (c))
32 #define XcheckN(xs, xp, n) do { \
33 int more = ((xp) + (n)) - (xs).end; \
35 xp = Xcheck_grow_(&xs, xp, more); \
39 #define Xcheck(xs, xp) XcheckN(xs, xp, 1)
42 #define Xfree(xs, xp) afree((void*) (xs).beg, (xs).areap)
45 #define Xclose(xs, xp) (char*) aresize((void*)(xs).beg, \
46 (size_t)((xp) - (xs).beg), (xs).areap)
48 #define Xstring(xs, xp) ((xs).beg)
50 #define Xnleft(xs, xp) ((xs).end - (xp)) /* may be less than 0 */
51 #define Xlength(xs, xp) ((xp) - (xs).beg)
52 #define Xsize(xs, xp) ((xs).end - (xs).beg)
53 #define Xsavepos(xs, xp) ((xp) - (xs).beg)
54 #define Xrestpos(xs, xp, n) ((xs).beg + (n))