1
0
mirror of https://github.com/cc65/cc65.git synced 2025-01-25 11:30:06 +00:00
cc65/libsrc/rp6502/write.c

21 lines
462 B
C
Raw Normal View History

2023-11-16 18:46:16 -08:00
#include <rp6502.h>
#include <unistd.h>
2023-11-17 11:08:51 -08:00
int __fastcall__ write (int fildes, const void* buf, unsigned count)
2023-11-16 18:46:16 -08:00
{
int ax, total = 0;
2023-11-17 11:08:51 -08:00
while (count) {
2023-11-16 18:46:16 -08:00
int blockcount = (count > 256) ? 256 : count;
2023-11-17 11:08:51 -08:00
ax = write_xstack (&((char*)buf)[total], blockcount, fildes);
if (ax < 0) {
2023-11-16 18:46:16 -08:00
return ax;
}
total += ax;
count -= ax;
2023-11-17 11:08:51 -08:00
if (ax < blockcount) {
2023-11-16 18:46:16 -08:00
break;
}
}
return total;
}