Lines Matching refs:str

46 	stream_t *str = safe_realloc(NULL, sizeof (stream_t));  in stream_new()  local
48 stream_clear(str); in stream_new()
49 stream_set(str, src); in stream_new()
51 return (str); in stream_new()
55 stream_set(stream_t *str, flag_t flags) in stream_set() argument
63 str->s_status &= ~STREAM_SOURCE_MASK; in stream_set()
64 str->s_status |= flags & STREAM_SOURCE_MASK; in stream_set()
68 str->s_element_size = 0; in stream_set()
69 str->s_ops = invalid_ops; in stream_set()
75 str->s_ops = stream_array_ops; in stream_set()
78 str->s_element_size = sizeof (char); in stream_set()
79 str->s_ops = stream_mmap_ops; in stream_set()
82 str->s_element_size = sizeof (char); in stream_set()
83 str->s_ops = stream_stdio_ops; in stream_set()
86 str->s_element_size = sizeof (wchar_t); in stream_set()
87 str->s_ops = stream_wide_ops; in stream_set()
90 die(EMSG_UNKN_STREAM, str->s_status); in stream_set()
94 str->s_status |= (flags & ~STREAM_SOURCE_MASK); in stream_set()
96 if (str->s_status & STREAM_UNIQUE) in stream_set()
97 switch (str->s_status & STREAM_SOURCE_MASK) { in stream_set()
99 str->s_ops.sop_put_line = in stream_set()
103 str->s_ops.sop_put_line = in stream_set()
110 if (str->s_status & STREAM_INSTANT) in stream_set()
111 switch (str->s_status & STREAM_SOURCE_MASK) { in stream_set()
113 str->s_ops.sop_fetch = in stream_set()
117 str->s_ops.sop_fetch = in stream_set()
140 stream_clear(stream_t *str) in stream_clear() argument
142 (void) memset(str, 0, sizeof (stream_t)); in stream_clear()
176 stream_count_chain(stream_t *str) in stream_count_chain() argument
180 while (str != NULL) { in stream_count_chain()
182 str = str->s_next; in stream_count_chain()
189 stream_open_for_read(sort_t *S, stream_t *str) in stream_open_for_read() argument
193 ASSERT(!(str->s_status & STREAM_OUTPUT)); in stream_open_for_read()
198 if ((str->s_status & STREAM_SOURCE_MASK) == STREAM_ARRAY) { in stream_open_for_read()
199 stream_set(str, STREAM_ARRAY | STREAM_OPEN); in stream_open_for_read()
206 if (str->s_status & STREAM_NOTFILE) { in stream_open_for_read()
207 str->s_type.BF.s_fp = stdin; in stream_open_for_read()
208 stream_set(str, STREAM_OPEN | (S->m_single_byte_locale ? in stream_open_for_read()
213 ASSERT(str->s_filename); in stream_open_for_read()
217 str->s_filesize > 0 && in stream_open_for_read()
218 str->s_filesize < SSIZE_MAX) { in stream_open_for_read()
222 fd = open(str->s_filename, O_RDONLY); in stream_open_for_read()
227 die(EMSG_OPEN, str->s_filename); in stream_open_for_read()
229 str->s_buffer = mmap(0, str->s_filesize, PROT_READ, in stream_open_for_read()
232 if (str->s_buffer != MAP_FAILED) { in stream_open_for_read()
233 str->s_buffer_size = str->s_filesize; in stream_open_for_read()
234 str->s_type.SF.s_fd = fd; in stream_open_for_read()
236 stream_set(str, STREAM_MMAP | STREAM_OPEN); in stream_open_for_read()
237 stream_unset(str, STREAM_PRIMED); in stream_open_for_read()
247 str->s_buffer = NULL; in stream_open_for_read()
251 if ((str->s_type.BF.s_fp = fopen(str->s_filename, "r")) == NULL) { in stream_open_for_read()
255 die(EMSG_OPEN, str->s_filename); in stream_open_for_read()
258 str->s_type.BF.s_vbuf = safe_realloc(NULL, STDIO_VBUF_SIZE); in stream_open_for_read()
259 if (setvbuf(str->s_type.BF.s_fp, str->s_type.BF.s_vbuf, _IOFBF, in stream_open_for_read()
261 safe_free(str->s_type.BF.s_vbuf); in stream_open_for_read()
262 str->s_type.BF.s_vbuf = NULL; in stream_open_for_read()
265 stream_set(str, STREAM_OPEN | (S->m_single_byte_locale ? STREAM_SINGLE : in stream_open_for_read()
267 stream_unset(str, STREAM_PRIMED); in stream_open_for_read()
273 stream_set_size(stream_t *str, size_t new_size) in stream_set_size() argument
283 if (str->s_buffer_size == p_new_size) in stream_set_size()
286 if (str->s_buffer != NULL) in stream_set_size()
287 (void) munmap(str->s_buffer, str->s_buffer_size); in stream_set_size()
290 str->s_buffer = NULL; in stream_set_size()
291 str->s_buffer_size = 0; in stream_set_size()
295 str->s_buffer = xzmap(0, p_new_size, PROT_READ | PROT_WRITE, in stream_set_size()
298 if (str->s_buffer == MAP_FAILED) in stream_set_size()
301 str->s_buffer_size = p_new_size; in stream_set_size()
307 stream_t *str; in stream_add_file_to_chain() local
309 str = stream_new(STREAM_NO_SOURCE); in stream_add_file_to_chain()
311 str->s_filename = filename; in stream_add_file_to_chain()
312 str->s_type.SF.s_fd = -1; in stream_add_file_to_chain()
314 stream_push_to_chain(str_chain, str); in stream_add_file_to_chain()
582 stream_swap_buffer(stream_t *str, char **buf, size_t *size) in stream_swap_buffer() argument
587 *buf = str->s_buffer; in stream_swap_buffer()
588 *size = str->s_buffer_size; in stream_swap_buffer()
590 str->s_buffer = tb; in stream_swap_buffer()
591 str->s_buffer_size = ts; in stream_swap_buffer()