- *g->loaded -= min_written;
- if (!*g->loaded && *g->eof)
- t->ret = 0;
- else
- t->ret = 1;
- if (*g->loaded && min_written)
+// PARA_INFO_LOG("loaded: %zd, min_written: %zd bytes\n", *g->loaded, min_written);
+ if (min_written) {
+ *g->loaded -= min_written;
+ FOR_EACH_WRITER_NODE(i, g)
+ g->writer_nodes[i].written -= min_written;
+ }
+ if (!*g->loaded && *g->input_eof) {
+ g->eof = 1;
+ t->ret = -E_WNG_EOF;
+ return;
+ }
+ t->ret = 1;
+ if (*g->loaded && min_written) {
+// PARA_INFO_LOG("moving %zd bytes\n", *g->loaded);