{
long start_pos;
size_t bytes;
+ size_t actual_bytes;
char *buf = NULL;
start_pos = extract_long(cmdbuf, 0);
buf = malloc(bytes + 1);
fseek(CC->download_fp, start_pos, 0);
- if (fread(buf, 1, bytes, CC->download_fp) == 1) {
- cprintf("%d %d\n", BINARY_FOLLOWS, (int)bytes);
+
+ actual_bytes = fread(buf, 1, bytes, CC->download_fp);
+ if (actual_bytes > 0) {
+ cprintf("%d %d\n", BINARY_FOLLOWS, (int)actual_bytes);
client_write(buf, bytes);
}
else {