Explorar o código

Avoid generating zero byte chunks at the end of files

Jonas Borgström %!s(int64=14) %!d(string=hai) anos
pai
achega
d130754a10
Modificáronse 1 ficheiros con 7 adicións e 1 borrados
  1. 7 1
      darc/_speedups.c

+ 7 - 1
darc/_speedups.c

@@ -86,7 +86,13 @@ ChunkifyIter_iternext(PyObject *self)
     }
     if(c->remaining < c->window_size) {
         c->done = 1;
-        return PyBuffer_FromMemory(c->data + c->position, c->remaining);
+        if(c->remaining) {
+            return PyBuffer_FromMemory(c->data + c->position, c->remaining);
+        }
+        else {
+            PyErr_SetNone(PyExc_StopIteration);
+            return NULL;
+        }
     }
     sum = checksum(c->data + c->position, c->window_size, 0);
     c->remaining -= c->window_size;