/*
 * chdir — сменить текущий каталог.  ESTEX CHDIR ($1D), HL = путь.
 * Возвращает 0 или -1 + errno.
 */

#include <unistd.h>

int chdir(const char *path) __naked
{
    (void)path;
    __asm
        push  ix
        ld    c, #0x1D              ; ESTEX CHDIR; HL уже = путь
        rst   #0x10
        pop   ix
        jr    c, _cd_err
        ld    de, #0
        ret
    _cd_err:
        call  __errno_set
        ld    de, #-1
        ret
    __endasm;
}
