summaryrefslogtreecommitdiff
path: root/community/vifm/ncurses.patch
blob: 841772e3d227319c69983da5448cbc2f5e42b0ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
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;