82 #define VSTRING_GET_RESULT(vp) \
83 (VSTRING_LEN(vp) > 0 ? vstring_end(vp)[-1] : VSTREAM_EOF)
134 msg_panic(
"vstring_get_bound: invalid bound %ld", (
long) bound);
153 msg_panic(
"vstring_get_nonl_bound: invalid bound %ld", (
long) bound);
169 msg_panic(
"vstring_get_null_bound: invalid bound %ld", (
long) bound);
185 #define TEXT_VSTREAM "vstring_vstream.c"
#define vstring_fgets(s, p)
int vstring_get_null(VSTRING *vp, VSTREAM *fp)
int vstring_get_nonl(VSTRING *vp, VSTREAM *fp)
NORETURN msg_panic(const char *fmt,...)
int main(int argc, char **argv)
int vstring_get(VSTRING *vp, VSTREAM *fp)
int vstring_get_null_bound(VSTRING *vp, VSTREAM *fp, ssize_t bound)
int vstring_get_nonl_bound(VSTRING *vp, VSTREAM *fp, ssize_t bound)
VSTREAM * vstream_fopen(const char *path, int flags, mode_t mode)
#define VSTRING_TERMINATE(vp)
#define VSTRING_GET_RESULT(vp)
#define VSTRING_ADDCH(vp, ch)
VSTREAM * vstream_fprintf(VSTREAM *stream, const char *fmt,...)
int vstream_fclose(VSTREAM *stream)
#define VSTRING_RESET(vp)
VSTRING * vstring_alloc(ssize_t len)
NORETURN msg_fatal(const char *fmt,...)
int vstream_fflush(VSTREAM *stream)
VSTRING * vstring_free(VSTRING *vp)
int vstring_get_bound(VSTRING *vp, VSTREAM *fp, ssize_t bound)