Lines Matching full:current
72 file_block_read (struct file_data *current, size_t size) in file_block_read() argument
74 if (size && ! current->eof) in file_block_read()
76 size_t s = block_read (current->desc, in file_block_read()
77 FILE_BUFFER (current) + current->buffered, size); in file_block_read()
79 pfatal_with_name (current->name); in file_block_read()
80 current->buffered += s; in file_block_read()
81 current->eof = s < size; in file_block_read()
92 /* Get ready to read the current file.
97 sip (struct file_data *current, bool skip_test) in sip() argument
100 if (current->desc < 0) in sip()
103 current->bufsize = sizeof (word); in sip()
104 current->buffer = xmalloc (current->bufsize); in sip()
108 current->bufsize = buffer_lcm (sizeof (word), in sip()
109 STAT_BLOCKSIZE (current->stat), in sip()
111 current->buffer = xmalloc (current->bufsize); in sip()
117 bool was_binary = set_binary_mode (current->desc, true); in sip()
119 file_block_read (current, current->bufsize); in sip()
120 buffered = current->buffered; in sip()
129 if (lseek (current->desc, - buffered, SEEK_CUR) == -1) in sip()
130 pfatal_with_name (current->name); in sip()
131 set_binary_mode (current->desc, false); in sip()
132 current->buffered = 0; in sip()
133 current->eof = false; in sip()
136 return binary_file_p (current->buffer, buffered); in sip()
140 current->buffered = 0; in sip()
141 current->eof = false; in sip()
145 /* Slurp the rest of the current file completely into memory. */
148 slurp (struct file_data *current) in slurp() argument
152 if (current->desc < 0) in slurp()
158 if (S_ISREG (current->stat.st_mode)) in slurp()
165 size_t file_size = current->stat.st_size; in slurp()
167 if (file_size != current->stat.st_size || cc < file_size in slurp()
171 if (current->bufsize < cc) in slurp()
173 current->bufsize = cc; in slurp()
174 current->buffer = xrealloc (current->buffer, cc); in slurp()
181 if (current->buffered <= file_size) in slurp()
183 file_block_read (current, file_size + 1 - current->buffered); in slurp()
184 if (current->buffered <= file_size) in slurp()
192 file_block_read (current, current->bufsize - current->buffered); in slurp()
194 if (current->buffered) in slurp()
196 while (current->buffered == current->bufsize) in slurp()
198 if (PTRDIFF_MAX / 2 - sizeof (word) < current->bufsize) in slurp()
200 current->bufsize *= 2; in slurp()
201 current->buffer = xrealloc (current->buffer, current->bufsize); in slurp()
202 file_block_read (current, current->bufsize - current->buffered); in slurp()
207 cc = current->buffered + 2 * sizeof (word); in slurp()
208 current->bufsize = cc - cc % sizeof (word); in slurp()
209 current->buffer = xrealloc (current->buffer, current->bufsize); in slurp()
217 find_and_hash_each_line (struct file_data *current) in find_and_hash_each_line() argument
220 char const *p = current->prefix_end; in find_and_hash_each_line()
226 char const **linbuf = current->linbuf; in find_and_hash_each_line()
227 lin alloc_lines = current->alloc_lines; in find_and_hash_each_line()
229 lin linbuf_base = current->linbuf_base; in find_and_hash_each_line()
234 char const *suffix_begin = current->suffix_begin; in find_and_hash_each_line()
235 char const *bufend = FILE_BUFFER (current) + current->buffered; in find_and_hash_each_line()
394 && current->missing_newline in find_and_hash_each_line()
469 current->buffered_lines = line; in find_and_hash_each_line()
504 current->linbuf = linbuf; in find_and_hash_each_line()
505 current->valid_lines = line; in find_and_hash_each_line()
506 current->alloc_lines = alloc_lines; in find_and_hash_each_line()
507 current->equivs = cureqs; in find_and_hash_each_line()
519 prepare_text (struct file_data *current) in prepare_text() argument
521 size_t buffered = current->buffered; in prepare_text()
522 char *p = FILE_BUFFER (current); in prepare_text()
526 current->missing_newline = false; in prepare_text()
530 current->missing_newline = true; in prepare_text()
551 current->buffered = buffered; in prepare_text()