Browse Source

Fix #208: cut at correct codepoint for CJK

master
Arun Prakash Jana 6 years ago
parent
commit
b99a28a376
No known key found for this signature in database GPG Key ID: A75979F35C080412
1 changed files with 8 additions and 7 deletions
  1. +8
    -7
      src/nnn.c

+ 8
- 7
src/nnn.c View File

@@ -1874,7 +1874,7 @@ static char *unescape(const char *str, uint maxcols)
{ {
static wchar_t wbuf[PATH_MAX] __attribute__ ((aligned)); static wchar_t wbuf[PATH_MAX] __attribute__ ((aligned));
static wchar_t *buf; static wchar_t *buf;
static size_t len;
static size_t len, lencount;


/* Convert multi-byte to wide char */ /* Convert multi-byte to wide char */
len = mbstowcs(wbuf, str, PATH_MAX); len = mbstowcs(wbuf, str, PATH_MAX);
@@ -1882,11 +1882,12 @@ static char *unescape(const char *str, uint maxcols)
g_buf[0] = '\0'; g_buf[0] = '\0';
buf = wbuf; buf = wbuf;


if (maxcols && len > maxcols) {
len = wcswidth(wbuf, len);

if (len > maxcols)
wbuf[maxcols] = 0;
if (maxcols) {
len = lencount = wcswidth(wbuf, len);
while (len > maxcols) {
wbuf[--lencount] = L'\0';
len = wcswidth(wbuf, lencount);
}
} }


while (*buf) { while (*buf) {
@@ -2824,7 +2825,7 @@ static void redraw(char *path)


/* Calculate the number of cols available to print entry name */ /* Calculate the number of cols available to print entry name */
if (cfg.showdetail) if (cfg.showdetail)
ncols -= 32;
ncols -= 30;
else else
ncols -= 5; ncols -= 5;




Loading…
Cancel
Save