1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-07 07:29:33 +00:00
cc65/libsrc/rp6502/sysrename.c

22 lines
561 B
C
Raw Normal View History

2023-11-17 02:46:16 +00:00
#include <rp6502.h>
#include <errno.h>
#include <string.h>
2023-11-17 19:08:51 +00:00
unsigned char __fastcall__ _sysrename (const char* oldpath, const char* newpath)
2023-11-17 02:46:16 +00:00
{
size_t oldpathlen, newpathlen;
2023-11-17 19:08:51 +00:00
oldpathlen = strlen (oldpath);
newpathlen = strlen (newpath);
if (oldpathlen + newpathlen > 254) {
return _mappederrno (EINVAL);
2023-11-17 02:46:16 +00:00
}
2023-11-17 19:08:51 +00:00
while (oldpathlen) {
ria_push_char (oldpath[--oldpathlen]);
2023-11-17 02:46:16 +00:00
}
2023-11-17 19:08:51 +00:00
ria_push_char (0);
while (newpathlen) {
ria_push_char (newpath[--newpathlen]);
2023-11-17 02:46:16 +00:00
}
2023-11-17 19:08:51 +00:00
return ria_call_int_errno (RIA_OP_RENAME);
2023-11-17 02:46:16 +00:00
}