mirror of
https://github.com/cc65/cc65.git
synced 2024-12-28 06:30:16 +00:00
21 lines
507 B
C
21 lines
507 B
C
#include <rp6502.h>
|
|
#include <unistd.h>
|
|
|
|
int __fastcall__ read (int fildes, void* buf, unsigned count)
|
|
{
|
|
int total = 0;
|
|
while (count) {
|
|
unsigned blockcount = (count > 512) ? 512 : count;
|
|
int bytes_read = read_xstack (&((char*)buf)[total], blockcount, fildes);
|
|
if (bytes_read < 0) {
|
|
return bytes_read;
|
|
}
|
|
total += bytes_read;
|
|
count -= bytes_read;
|
|
if (bytes_read < blockcount) {
|
|
break;
|
|
}
|
|
}
|
|
return total;
|
|
}
|