Home | History | Annotate | Download | only in libcutils

Lines Matching refs:stream

65  * Definition of a seekable, write-only memory stream.
86 static int ensureCapacity(MemStream* stream, int writeSize)
88 DBUG(("+++ ensureCap off=%d size=%d\n", stream->offset, writeSize));
90 size_t neededSize = stream->offset + writeSize + 1;
91 if (neededSize <= stream->allocSize)
96 if (stream->allocSize == 0) {
99 newSize = stream->allocSize;
106 stream->bufp, *stream->bufp, newSize));
107 char* newBuf = (char*) realloc(*stream->bufp, newSize);
111 *stream->bufp = newBuf;
112 stream->allocSize = newSize;
125 MemStream* stream = (MemStream*) cookie;
127 if (ensureCapacity(stream, size) < 0)
131 if (stream->eof < stream->offset) {
133 stream->eof, stream->offset-1));
134 memset(*stream->bufp + stream->eof, '\0',
135 stream->offset - stream->eof);
139 memcpy(*stream->bufp + stream->offset, buf, size);
140 stream->offset += size;
142 if (stream->offset > stream->eof) {
144 DBUG(("+++ EOF advanced to %d, appending nul\n", stream->offset));
145 assert(stream->offset < stream->allocSize);
146 stream->eof = stream->offset;
150 *(*stream->bufp + stream->offset), stream->offset));
151 stream->saved = *(*stream->bufp + stream->offset);
153 *(*stream->bufp + stream->offset) = '\0';
154 *stream->sizep = stream->offset;
166 MemStream* stream = (MemStream*) cookie;
170 newPosn += stream->offset;
172 newPosn += stream->eof;
182 if (stream->offset < stream->eof) {
188 stream->saved, stream->offset));
189 *(*stream->bufp + stream->offset) = stream->saved;
192 stream->offset = (size_t) newPosn;
194 if (stream->offset < stream->eof) {
196 * We're seeked backward into the stream. Preserve the character
199 stream->saved = *(*stream->bufp + stream->offset);
200 *(*stream->bufp + stream->offset) = '\0';
201 *stream->sizep = stream->offset;
207 *stream->sizep = stream->eof;
228 MemStream* stream;
235 stream = (MemStream*) calloc(1, sizeof(MemStream));
236 if (stream == NULL)
239 fp = funopen(stream,
242 free(stream);
248 stream->bufp = bufp;
249 stream->sizep = sizep;
277 * fp = fopencookie(stream, "w", iofuncs);
284 FILE *stream;
292 stream = open_memstream(&buf, &len);
293 fprintf(stream, "hello my world");
294 fflush(stream);
296 eob = ftello(stream);
297 fseeko(stream, 0, SEEK_SET);
298 fprintf(stream, "good-bye");
299 fseeko(stream, eob, SEEK_SET);
300 fclose(stream);
307 stream = open_memstream(&buf, &len);
308 fprintf(stream, "hello my world");
309 fflush(stream);
311 eob = ftello(stream);
312 fseeko(stream, 0, SEEK_SET);
313 fprintf(stream, "good-bye");
314 //fseeko(stream, eob, SEEK_SET);
315 fclose(stream);
329 stream = open_memstream (&buf, &len);
330 setvbuf(stream, NULL, _IONBF, 0); /* note: crashes in glibc with this */
331 fprintf(stream, "This-is-a-test");
332 fseek(stream, -1, SEEK_CUR); /* broken in glibc; can use {13,SEEK_SET} */
333 fprintf(stream, "1234");
334 fseek(stream, 1022, SEEK_SET);
335 fputc('a', stream);
336 fputc('b', stream);
337 fputc('c', stream);
338 fputc('d', stream);
339 fputc('e', stream);
340 fputc('f', stream);
341 fflush(stream);
350 stream = open_memstream (&buf, &len);
351 fseek(stream, 5000, SEEK_SET);
352 fseek(stream, 4096, SEEK_SET);
353 fseek(stream, -1, SEEK_SET); /* should have no effect */
354 fputc('x', stream);
355 if (ftell(stream) == 4097)
358 printf("BAD: offset is %ld\n", ftell(stream));