1
1

chars: the representation of control characters is always two columns wide

Этот коммит содержится в:
Benno Schulenberg 2016-05-28 15:56:16 +02:00
родитель a9f79a6130
Коммит 4172268bd2

Просмотреть файл

@ -423,22 +423,10 @@ int parse_mbchar(const char *buf, char *chr, size_t *col)
* current value of col. */
if (*buf == '\t')
*col += tabsize - *col % tabsize;
/* If we have a control character, get its width using one
* column for the "^" that will be displayed in front of it,
* and the width in columns of its visible equivalent as
* returned by control_mbrep(). */
/* If we have a control character, it's two columns wide: one
* column for the "^", and one for the visible character. */
else if (is_cntrl_mbchar(buf)) {
char *ctrl_buf_mb = charalloc(MB_CUR_MAX);
int ctrl_buf_mb_len;
(*col)++;
ctrl_buf_mb = control_mbrep(buf, ctrl_buf_mb,
&ctrl_buf_mb_len);
*col += mbwidth(ctrl_buf_mb);
free(ctrl_buf_mb);
*col += 2;
/* If we have a normal character, get its width in columns
* normally. */
} else