summaryrefslogtreecommitdiff
path: root/community/vifm/ncurses.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/vifm/ncurses.patch')
-rw-r--r--community/vifm/ncurses.patch126
1 files changed, 126 insertions, 0 deletions
diff --git a/community/vifm/ncurses.patch b/community/vifm/ncurses.patch
new file mode 100644
index 000000000..841772e3d
--- /dev/null
+++ b/community/vifm/ncurses.patch
@@ -0,0 +1,126 @@
+--- vifm-pkgbuild/src/vifm-0.5/src/visual.c
++++ vifm/src/visual.c
+@@ -229,7 +229,7 @@
+ /* tbrown */
+ case 2: /* ascii Ctrl B */
+ case KEY_PPAGE:
+- while (view->list_pos > (view->top_line - view->window_rows -1))
++ while (view->list_pos > (view->top_line - view->window_rows -1) && view->list_pos)
+ {
+ select_up_one(view,start_pos);
+ }
+--- vifm-pkgbuild/src/vifm-0.5/src/ui.h
++++ vifm/src/ui.h
+@@ -57,7 +57,7 @@
+ typedef struct
+ {
+ char *name;
+- uintmax_t size;
++ off_t size;
+ mode_t mode;
+ uid_t uid;
+ gid_t gid;
+--- vifm-pkgbuild/src/vifm-0.5/src/ui.c
++++ vifm/src/ui.c
+@@ -181,9 +181,9 @@
+ werase(lborder);
+
+ if (curr_stats.number_of_windows == 1)
+- lwin.title = newwin(0, screen_x -2, 0, 1);
+- else
+- lwin.title = newwin(0, screen_x/2 -1, 0, 1);
++ lwin.title = newwin(1, screen_x -2, 0, 1);
++ else
++ lwin.title = newwin(1, screen_x/2 -1, 0, 1);
+
+ wattrset(lwin.title, A_BOLD);
+ wbkgdset(lwin.title, COLOR_PAIR(BORDER_COLOR));
+@@ -211,7 +211,7 @@
+ werase(mborder);
+
+ if (curr_stats.number_of_windows == 1)
+- rwin.title = newwin(0, screen_x -2 , 0, 1);
++ rwin.title = newwin(1, screen_x -2 , 0, 1);
+ else
+ rwin.title = newwin(1, screen_x/2 -1 , 0, screen_x/2 +1);
+
+@@ -224,7 +224,7 @@
+ if (curr_stats.number_of_windows == 1)
+ rwin.win = newwin(screen_y - 3, screen_x -2 , 1, 1);
+ else
+- rwin.win = newwin(screen_y - 3, screen_x/2 -2 , 1, screen_x/2 +1);
++ rwin.win = newwin(screen_y - 3, screen_x/2 -1 , 1, screen_x/2 +1);
+
+ keypad(rwin.win, TRUE);
+ wattrset(rwin.win, A_BOLD);
+--- vifm-pkgbuild/src/vifm-0.5/src/filelist.c
++++ vifm/src/filelist.c
+@@ -54,7 +54,7 @@
+ int u = 0;
+ double d = num;
+
+- while(d > 1024.0 && u < (sizeof(units)/sizeof(*units)))
++ while(d >= 1024.0 && u < (sizeof(units)/sizeof(*units)))
+ {
+ d /= 1024.0;
+ ++u;
+--- vifm-pkgbuild/src/vifm-0.5/src/file_info.c
++++ vifm/src/file_info.c
+@@ -34,21 +34,36 @@
+ #include "menus.h"
+ #include "status.h"
+
++/*
++#ifndef OFF_T_MAX
++# define OFF_T_MAX TYPE_MAXIMUM(off_t)
++#endif
++
++#ifndef OFF_T_MIN
++# define OFF_T_MIN TYPE_MINIMUM(off_t)
++#endif
++
++uintmax_t
++unsigned_file_size(off_t size)
++{
++ return size + (size < 0) * ((uintmax_t) OFF_T_MAX - OFF_T_MIN + 1);
++}
++*/
+
+ void
+-describe_file_size (char* str, int str_size, int num)
++describe_file_size (char* str, int str_size, off_t num)
+ {
+
+ const char* units[] = { " B", "KB", "MB", "GB", "TB", "PB" };
+ int u = 0;
+- double d = num;
+-
+- while(d > 1024.0 && u < (sizeof(units)/sizeof(*units)))
+- {
+- d /= 1024.0;
++ off_t d = num;
++
++ while(d >= 1024.0 && u < 6)
++ {
++ d = (d / 1024);
+ ++u;
+ }
+- snprintf(str, str_size, " %.1f %s", d, units[u]);
++ snprintf(str, str_size, " %zu %s", d, units[u]);
+ }
+
+ void
+--- vifm-pkgbuild/src/vifm-0.5/src/commands.c
++++ vifm/src/commands.c
+@@ -504,9 +504,9 @@
+ show_error_msg("Memory Error", "Unable to allocate memory");
+ return NULL;
+ }
+- strcat(expanded, "\"");
++ strcat(expanded, "\'");
+ strcat(expanded, other_view->curr_dir);
+- strcat(expanded, "\"");
++ strcat(expanded, "\'");
+ len = strlen(expanded);
+ }
+ break;