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;
|