瀏覽代碼

Fix regression

master
Arun Prakash Jana 5 年之前
父節點
當前提交
e0eea57845
沒有發現已知的金鑰在資料庫的簽署中 GPG 金鑰 ID: A75979F35C080412
共有 1 個檔案被更改,包括 14 行新增15 行删除
  1. +14
    -15
      src/nnn.c

+ 14
- 15
src/nnn.c 查看文件

@@ -1944,19 +1944,25 @@ static inline void resetdircolor(int flags)
static char *unescape(const char *str, uint maxcols)
{
static wchar_t wbuf[NAME_MAX + 1] __attribute__ ((aligned));
static wchar_t *buf = wbuf;
static size_t len, lencount;
wchar_t *buf = wbuf;
size_t len, lencount = 0;

/* Convert multi-byte to wide char */
len = mbstowcs(wbuf, str, NAME_MAX);

//g_buf[0] = '\0';
while (*buf && lencount <= maxcols) {
if (*buf <= '\x1f' || *buf == '\x7f')
*buf = '\?';

++buf;
++lencount;
}

len = lencount = wcswidth(wbuf, len);

if (maxcols) {
len = lencount = wcswidth(wbuf, len);
/* Reduce number of wide chars to max columns */
if (len > maxcols)
lencount = maxcols + 1;
/* Reduce number of wide chars to max columns */
if (len > maxcols) {
lencount = maxcols + 1;

/* Reduce wide chars one by one till it fits */
while (len > maxcols)
@@ -1965,13 +1971,6 @@ static char *unescape(const char *str, uint maxcols)
wbuf[lencount] = L'\0';
}

while (*buf) {
if (*buf <= '\x1f' || *buf == '\x7f')
*buf = '\?';

++buf;
}

/* Convert wide char to multi-byte */
wcstombs(g_buf, wbuf, NAME_MAX);
return g_buf;


Loading…
取消
儲存