Compare commits

..
5 Commits
3 changed files with 17 additions and 20 deletions
+1 -1
View File
@@ -53,7 +53,7 @@ void user_interactions() {
ch = getch();
if(ch != ERR) {
if(ch != (char)ERR) {
input[input_pass] = ch;
input_pass++;
if (ch == 27) { /* esc key */
+1 -1
View File
@@ -38,7 +38,7 @@ int sort_natural(const void *file0, const void *file1){
long parsed_number0 = 0;
long parsed_number1 = 0;
char is_num = 0;
char result = 0;
signed char result = 0;
do {
+15 -18
View File
@@ -338,7 +338,8 @@ void *thread_top(){
}
void *thread_btm(){
char *path = NULL;
char *ui_btm_right_block = malloc(sizeof(char));
char *ui_btm_right_block = NULL;
char fmt[] = "%0.2lf%c %s %0.2lf%c %s"; /*using a pointer here would put it into ROM, causing a segfault at the edit below*/
unsigned int ui_btm_right_block_size = 0;
unsigned int buffer_width = 0;
@@ -369,7 +370,6 @@ void *thread_btm(){
pthread_mutex_unlock(&mutex_mid);
free(ui_btm_right_block);
if(path) {
free(path);
@@ -384,7 +384,7 @@ void *thread_btm(){
char size_index[2] = { 0 };
signed char size_index[2] = { 0 };
if (total_dir_size > 1) {
size_index[0] = -1;
while (total_dir_size > 1 && size_index[0] < size_unit_count) {
@@ -407,24 +407,21 @@ void *thread_btm(){
} else {
size_index[1] = 0;
}
if (size_index[0] > 0 && size_index[1] > 0) {
ui_btm_right_block_size = snprintf(NULL, 0, "%0.2lf%c %s %0.2lf%c %s", parsed_number[0], size_unit[(unsigned)size_index[0]], ui_btm_current_dir_size, parsed_number[1], size_unit[(unsigned)size_index[1]], ui_btm_text_storage_left)+1;
ui_btm_right_block = malloc(ui_btm_right_block_size);
sprintf(ui_btm_right_block, "%0.2lf%c %s %0.2lf%c %s", parsed_number[0], size_unit[(unsigned)size_index[0]], ui_btm_current_dir_size, parsed_number[1], size_unit[(unsigned)size_index[1]], ui_btm_text_storage_left);
} else if (size_index[0] <= 0 && size_index[1] > 0) {
ui_btm_right_block_size = snprintf(NULL, 0, "%0.0lf%c %s %0.2lf%c %s", parsed_number[0], size_unit[(unsigned)size_index[0]], ui_btm_current_dir_size, parsed_number[1], size_unit[(unsigned)size_index[1]], ui_btm_text_storage_left)+1;
ui_btm_right_block = malloc(ui_btm_right_block_size);
sprintf(ui_btm_right_block, "%0.0lf%c %s %0.2lf%c %s", parsed_number[0], size_unit[(unsigned)size_index[0]], ui_btm_current_dir_size, parsed_number[1], size_unit[(unsigned)size_index[1]], ui_btm_text_storage_left);
} else if (size_index[0] > 0 && size_index[1] <= 0) {
ui_btm_right_block_size = snprintf(NULL, 0, "%0.2lf%c %s %0.0lf%c %s", parsed_number[0], size_unit[(unsigned)size_index[0]], ui_btm_current_dir_size, parsed_number[1], size_unit[(unsigned)size_index[1]], ui_btm_text_storage_left)+1;
ui_btm_right_block = malloc(ui_btm_right_block_size);
sprintf(ui_btm_right_block, "%0.2lf%c %s %0.0lf%c %s", parsed_number[0], size_unit[(unsigned)size_index[0]], ui_btm_current_dir_size, parsed_number[1], size_unit[(unsigned)size_index[1]], ui_btm_text_storage_left);
if (size_index[0] < 1) {
fmt[3] = '0';
} else {
ui_btm_right_block_size = snprintf(NULL, 0, "%0.0lf%c %s %0.0lf%c %s", parsed_number[0], size_unit[(unsigned)size_index[0]], ui_btm_current_dir_size, parsed_number[1], size_unit[(unsigned)size_index[1]], ui_btm_text_storage_left)+1;
ui_btm_right_block = malloc(ui_btm_right_block_size);
sprintf(ui_btm_right_block, "%0.0lf%c %s %0.0lf%c %s", parsed_number[0], size_unit[(unsigned)size_index[0]], ui_btm_current_dir_size, parsed_number[1], size_unit[(unsigned)size_index[1]], ui_btm_text_storage_left);
fmt[3] = '2';
}
if (size_index[1] < 1) {
fmt[15] = '0';
} else {
fmt[15] = '2';
}
free(ui_btm_right_block);
ui_btm_right_block = malloc(buffer_width);
ui_btm_right_block_size = snprintf(ui_btm_right_block, buffer_width, fmt, parsed_number[0], size_unit[(unsigned)size_index[0]], ui_btm_current_dir_size, parsed_number[1], size_unit[(unsigned)size_index[1]], ui_btm_text_storage_left);
/*}}}*/
}
memset(btm_buffer, ' ', buffer_width);