-
- g_assert_not_reached();
- } else {
- /* Read from port. */
- int read_result;
- count = MIN(count, pself->max_part_size - selfp->disk_buffered_bytes);
- if (count == 0) /* It was nonzero before. */ {
- pself->end_of_part = TRUE;
- return 0;
- }
-
- read_result = source_parent_class->read(pself, buf, count);
- /* Parent handles EOF and other goodness. */
- if (read_result <= 0) {
- return read_result;
- }
- /* Now write to disk buffer. */
- return write_disk_buffer(self, buf, read_result);