| 1378 | } |
| 1379 | |
| 1380 | ssize_t |
| 1381 | gfile_write(gfile_t *fd, void *ptr, size_t len) |
| 1382 | { |
| 1383 | size_t olen = len; |
| 1384 | |
| 1385 | while (len) |
| 1386 | { |
| 1387 | ssize_t i = fd->write(fd, ptr, len); |
| 1388 | |
| 1389 | if (i < 0) |
| 1390 | return i; |
| 1391 | if (i == 0) |
| 1392 | break; |
| 1393 | |
| 1394 | ptr = (char*) ptr + i; |
| 1395 | len -= i; |
| 1396 | } |
| 1397 | |
| 1398 | return olen - len; |
| 1399 | } |
| 1400 | |
| 1401 | off_t gfile_get_compressed_size(gfile_t *fd) |
| 1402 | { |