/*
 * putenv — установить переменную окружения строкой "NAME=value" (ASCIIZ).
 * ESTEX ENVIRON ($46, subfn 2): HL = строка; CF=1 / A = код при ошибке.
 * Возвращает 0 или -1 + errno.
 */

#include <stdint.h>
#include <sprinter.h>

int putenv(const char *namevalue) __naked
{
    (void)namevalue;
    __asm
        push  ix
        ld    bc, #0x0246               ; ESTEX ENVIRON; subfn: setenv
        rst   #0x10
        pop   ix
        jr    c, _putenv_err
        ld    de, #0
        ret
    _putenv_err:
        call  __errno_set
        ld    de, #-1
        ret
    __endasm;
}
