diff options
Diffstat (limited to 'misc/mc/files/patch-src-screen.c')
-rw-r--r-- | misc/mc/files/patch-src-screen.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/misc/mc/files/patch-src-screen.c b/misc/mc/files/patch-src-screen.c new file mode 100644 index 000000000000..da4cbad9f71b --- /dev/null +++ b/misc/mc/files/patch-src-screen.c @@ -0,0 +1,52 @@ +--- src/screen.c.orig Wed Jan 29 04:58:22 2003 ++++ src/screen.c Tue Jun 15 03:22:46 2004 +@@ -672,7 +672,7 @@ + int len; + + link = concat_dir_and_file (panel->cwd, panel->dir.list [panel->selected].fname); +- len = mc_readlink (link, link_target, MC_MAXPATHLEN); ++ len = mc_readlink (link, link_target, MC_MAXPATHLEN - 1); + g_free (link); + if (len > 0){ + link_target[len] = 0; +@@ -1045,7 +1045,7 @@ + int spaces, extra; + int side, width; + +- char *txt, buffer[30]; /*Hope that this is enough ;-) */ ++ char *txt; + if (!panel->split) + adjust_top_file (panel); + +@@ -1071,18 +1071,14 @@ + txt = format->title; + + header_len = strlen (txt); +- if (header_len > format->field_len){ +- strcpy (buffer, txt); +- txt = buffer; +- txt [format->field_len] = 0; +- header_len = strlen (txt); +- } ++ if (header_len > format->field_len) ++ header_len = format->field_len; + + attrset (MARKED_COLOR); + spaces = (format->field_len - header_len) / 2; + extra = (format->field_len - header_len) % 2; +- printw ("%*s%-s%*s", spaces, "", +- txt, spaces+extra, ""); ++ printw ("%*s%.*s%*s", spaces, "", ++ header_len, txt, spaces+extra, ""); + width -= 2 * spaces + extra + header_len; + } else { + attrset (NORMAL_COLOR); +@@ -2021,7 +2017,7 @@ + int i; + struct stat mybuf; + +- i = readlink (selection (panel)->fname, buffer, MC_MAXPATHLEN); ++ i = readlink (selection (panel)->fname, buffer, MC_MAXPATHLEN - 1); + if (i < 0) + return; + if (mc_stat (selection (panel)->fname, &mybuf) < 0) |