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