6 int getln2(ss
,sa
,cont
,clen
,sep
)
10 /*@out@*/unsigned int *clen
;
14 register unsigned int i
;
17 if (!stralloc_ready(sa
,0)) return -1;
21 n
= substdio_feed(ss
);
23 if (n
== 0) { *clen
= 0; return 0; }
24 x
= substdio_PEEK(ss
);
25 i
= byte_chr(x
,n
,sep
);
26 if (i
< n
) { substdio_SEEK(ss
,*clen
= i
+ 1); *cont
= x
; return 0; }
27 if (!stralloc_readyplus(sa
,n
)) return -1;
29 sa
->len
= i
+ substdio_get(ss
,sa
->s
+ i
,n
);