/*
 * strlwr — строку в нижний регистр, латиница + кириллица CP866.
 *
 * CP866: А-Я = 0x80..0x8F (а-п = +0x20 даёт 0xA0..0xAF) и
 * Р-Я = 0x90..0x9F (р-я = +0x50 даёт 0xE0..0xEF); Ё 0xF0 → ё 0xF1.
 * Solid-C совместимость (<sprinter_compat.h>).
 */

#include <sprinter_compat.h>
#include <ctype.h>

char *strlwr(char *s)
{
    char *p = s;
    while (*p) {
        if ((*p >= 'A' && *p <= 'Z') || (*p >= 0x80 && *p <= 0x8F)) *p += 'a' - 'A';
        else if ((*p >= 0x90 && *p <= 0x9F)) *p += 0x50;
        else if ((*p == 0xF0)) *p = 0xF1;
        p++;
    }
    return s;
}
