diff options
| author | verdant <im@verdant.ee> | 2026-07-28 16:35:47 +0800 |
|---|---|---|
| committer | verdant <im@verdant.ee> | 2026-07-28 16:35:47 +0800 |
| commit | d760f14a540ea334ade0d705b44a9f5e52ee56d8 (patch) | |
| tree | c79766adef09b4f5f54e0d464a75d83854594869 /fm.c | |
| parent | 5207cf0bd0c8822c64d087250d83bc548b24542b (diff) | |
| download | sf-d760f14a540ea334ade0d705b44a9f5e52ee56d8.tar.gz sf-d760f14a540ea334ade0d705b44a9f5e52ee56d8.zip | |
Reformat fm.c
Diffstat (limited to 'fm.c')
| -rw-r--r-- | fm.c | 70 |
1 files changed, 48 insertions, 22 deletions
@@ -34,7 +34,8 @@ int open_with_editor(char **argv); bool fm_preview_file(window *w, const char *path); /* Functions */ -static fm_info *fm_w_init(terminal *term) +static fm_info * +fm_w_init(terminal *term) { int maxx = term->maxx; @@ -65,21 +66,28 @@ static fm_info *fm_w_init(terminal *term) return info; } -void fm_getcwd(fm_info *info) { getcwd(info->cwd, sizeof(info->cwd)); } +void +fm_getcwd(fm_info *info) +{ + getcwd(info->cwd, sizeof(info->cwd)); +} -static void fm_file_items_realloc(file_list *l) +static void +fm_file_items_realloc(file_list *l) { l->cap *= 2; l->items = realloc(l->items, sizeof(file_item) * l->cap); l->items = xrealloc(l->items, sizeof(file_item) * l->cap); } -file_list *fm_getdir(file_list *list, const char *path) +file_list * +fm_getdir(file_list *list, const char *path) { log_write(LOG_INFO, "path = %s", path); DIR *dir = opendir(path); if (!dir) { - die("Cannot open dir"); + log_write(LOG_ERR, "Cannot open directory"); + return NULL; } file_list *new_list = list; @@ -116,7 +124,8 @@ file_list *fm_getdir(file_list *list, const char *path) return new_list; } -static void fm_file_list_init(file_list *l, int cap) +static void +fm_file_list_init(file_list *l, int cap) { if (!l) die("File list initialization failed"); @@ -129,7 +138,8 @@ static void fm_file_list_init(file_list *l, int cap) fm_getenv(); } -fm_info *fm_init(terminal *t) +fm_info * +fm_init(terminal *t) { fm_info *info = fm_w_init(t); info->cursor = 0; @@ -140,7 +150,8 @@ fm_info *fm_init(terminal *t) return info; } -static char *detect_file_type(const char *filepath) +static char * +detect_file_type(const char *filepath) { if (!g_magic_ctx) magic_init(); @@ -149,7 +160,8 @@ static char *detect_file_type(const char *filepath) return desc ? strdup(desc) : strdup("unknown"); } -void fm_draw_file_stream(window *w, FILE *fp) +void +fm_draw_file_stream(window *w, FILE *fp) { char line_buf[512]; int line_num = 0; @@ -161,22 +173,26 @@ void fm_draw_file_stream(window *w, FILE *fp) } } -bool fm_preview_file(window *w, const char *path) +bool +fm_preview_file(window *w, const char *path) { - wclear(w->win); if (!w || !path) return false; + wclear(w->win); + char *file_type = detect_file_type(path); if (strstr(file_type, "text") == NULL) { mvwprintw(w->win, 0, 0, "%s", file_type); + free(file_type); return false; } FILE *fp = fopen(path, "r"); if (!fp) { mvwprintw(w->win, 0, 0, "<Cannot open file>"); + free(file_type); return false; } @@ -187,8 +203,9 @@ bool fm_preview_file(window *w, const char *path) return true; } -void fm_draw_entries(window *window, file_list *list, size_t cursor, int top, - int bottom) +void +fm_draw_entries(window *window, file_list *list, size_t cursor, int top, + int bottom) { if (!window || !list) return; @@ -216,7 +233,8 @@ void fm_draw_entries(window *window, file_list *list, size_t cursor, int top, } } -void fm_entries_scroll(fm_info *info, int n) +void +fm_entries_scroll(fm_info *info, int n) { if (!info) return; @@ -242,7 +260,8 @@ void fm_entries_scroll(fm_info *info, int n) need_redraw = true; } -static void fm_reset_windows_data(fm_info *i) +static void +fm_reset_windows_data(fm_info *i) { if (!i) return; @@ -250,7 +269,8 @@ static void fm_reset_windows_data(fm_info *i) i->top = 0; i->bottom = i->windows[FM_PANE_LEFT]->height - 1; } -void fm_cd_up(fm_info *info) +void +fm_cd_up(fm_info *info) { if (strcmp(info->cwd, "/") == 0) return; @@ -286,7 +306,8 @@ void fm_cd_up(fm_info *info) need_redraw = true; } -void fm_cd_down(fm_info *info) +void +fm_cd_down(fm_info *info) { if (!info->cur || info->cur->count == 0) return; @@ -326,7 +347,8 @@ void fm_cd_down(fm_info *info) free(next_dir); } -void magic_init(void) +void +magic_init(void) { if (!g_magic_ctx) { g_magic_ctx = magic_open(MAGIC_MIME_TYPE | MAGIC_SYMLINK); @@ -337,24 +359,28 @@ void magic_init(void) } } -void magic_cleanup(void) +void +magic_cleanup(void) { if (g_magic_ctx) magic_close(g_magic_ctx); } -static char *xgetenv(const char *const name, char *fallback) +static char * +xgetenv(const char *const name, char *fallback) { char *value = getenv(name); return value && value[0] ? value : fallback; } -static void fm_getenv(void) +static void +fm_getenv(void) { enveditor = xgetenv(envs[ENV_EDITOR], utils[UTIL_VI]); } -int open_with_editor(char **argv) +int +open_with_editor(char **argv) { pid_t pid; def_prog_mode(); |
