/* ---------------------------------------------------------------------------- * $Id$ * ---------------------------------------------------------------------------- * Public Domain C Library - http://pdclib.sourceforge.net * This code is Public Domain. Use, modify, and redistribute at will. * --------------------------------------------------------------------------*/ int setvbuf( FILE * restrict stream, char * restrict buf, int mode, size_t size ) { /* TODO */ }; /* PDPC code - unreviewed /* NULL + F = allocate, setup NULL + L = allocate, setup NULL + N = ignore, return success buf + F = setup buf + L = setup buf + N = ignore, return success */ int setvbuf(FILE *stream, char *buf, int mode, size_t size) { char *mybuf; if (mode == _IONBF) { stream->bufTech = mode; return (0); } if (buf == NULL) { if (size < 2) { return (-1); } mybuf = malloc(size + 8); if (mybuf == NULL) { return (-1); } } else { if (size < 10) { return (-1); } mybuf = buf; stream->theirBuffer = 1; size -= 8; } free(stream->intBuffer); stream->intBuffer = mybuf; stream->fbuf = stream->intBuffer + 2; *stream->fbuf++ = '\0'; *stream->fbuf++ = '\0'; stream->szfbuf = size; stream->endbuf = stream->fbuf + stream->szfbuf; *stream->endbuf = '\n'; stream->upto = stream->endbuf; stream->bufTech = mode; if (!stream->textMode && (stream->bufTech == _IOLBF)) { stream->quickBin = 0; } return (0); } */