legacy_coding(3X) legacy_coding(3X)

use_legacy_coding - override locale-encoding checks

#include <curses.h>

int use_legacy_coding(int level);

The use_legacy_coding function is an extension to the curses library. It allows the caller to change the result of unctrl, and suppress related checks within the library that would normally cause nonprinting characters to be rendered in visible form. This affects only 8-bit characters.

The level parameter controls the result:

the library functions normally, rendering nonprinting characters as described in unctrl.
the library ignores isprintf for codes in the range 160-255.
the library ignores isprintf for codes in the range 128-255. It also modifies the output of unctrl, showing codes in the range 128-159 as is.

If the screen has not been initialized, or the level parameter is out of range, the function returns ERR. Otherwise, it returns the previous level: 0, 1 or 2.

This routine is specific to ncurses. It was not supported on Version 7, BSD or System V implementations. It is recommended that any code depending on ncurses extensions be conditioned using NCURSES_VERSION.


Thomas Dickey (to support lynx's font-switching feature).