1
0
mirror of https://github.com/irssi/irssi.git synced 2024-09-01 04:14:16 -04:00

Add common IS_PRINTABLE macro.

git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4474 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Emanuele Giaquinta 2007-05-03 15:49:19 +00:00 committed by exg
parent b8380772e2
commit 7c84b6fc2e
4 changed files with 5 additions and 5 deletions

View File

@ -232,7 +232,7 @@ static void gui_entry_draw_from(GUI_ENTRY_REC *entry, int pos)
if (entry->hidden)
term_addch(root_window, ' ');
else if (*p >= 32 && (*p < 0x7F || *p > 0x9F))
else if (IS_PRINTABLE(*p))
term_add_unichar(root_window, *p);
else {
term_set_color(root_window, ATTR_RESET|ATTR_REVERSE);

View File

@ -661,9 +661,7 @@ static char *reverse_controls(const char *str)
out = g_string_new(NULL);
while (*str != '\0') {
if ((unsigned char) *str < 32 ||
(term_type == TERM_TYPE_8BIT &&
(unsigned char) (*str & 0x7f) < 32)) {
if (!IS_PRINTABLE((unsigned char) *str)) {
/* control char */
g_string_sprintfa(out, "%%8%c%%8",
'A'-1 + (*str & 0x7f));

View File

@ -22,6 +22,8 @@ typedef struct _TERM_WINDOW TERM_WINDOW;
typedef guint32 unichar;
#define IS_PRINTABLE(c) (((c) & ~0x80) >= 32)
extern TERM_WINDOW *root_window;
extern int term_width, term_height;
extern int term_use_colors, term_type, term_detached;

View File

@ -451,7 +451,7 @@ static int view_line_draw(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line,
xpos += char_width;
if (xpos <= term_width) {
if ((chr & ~0x80) >= 32) {
if (IS_PRINTABLE(chr)) {
for (; text < end; text++)
term_addch(view->window, *text);
term_addch(view->window, *text);