Commit graph

187 commits

Author SHA1 Message Date
sin 0e214e23b7 Call dentfree() when we quit 2014-10-22 17:28:27 +01:00
sin 789f9336f4 Rename testopendir() to canopendir() 2014-10-22 17:26:35 +01:00
sin 48f9c5a79d Test if we can back out/enter directories 2014-10-22 17:25:25 +01:00
sin aedec0ddf3 Add pushhist(), pophist() and forgethist() 2014-10-22 17:08:50 +01:00
sin 1183a9428f Save one level of indentation 2014-10-22 16:56:31 +01:00
sin b39da16920 Vertical spacing fixes 2014-10-22 16:55:26 +01:00
sin bc69021233 Save one level of indentation 2014-10-22 16:53:38 +01:00
sin 05957936f5 Use fstatat() wherever possible 2014-10-22 16:50:30 +01:00
sin b06a4d4eeb Initialize n' and dents' 2014-10-22 16:34:16 +01:00
sin ce599b8e6b Check getch() against ERR 2014-10-22 16:30:27 +01:00
sin c6614067e4 Remember to set dents to NULL 2014-10-22 16:29:18 +01:00
sin dbac1486c6 Include sys/wait.h for waitpid() 2014-10-22 16:27:08 +01:00
sin ce1fcfc7b8 Remove unused vars 2014-10-22 16:26:14 +01:00
sin 32bce991be Add dentfill() and dentfree() 2014-10-22 16:22:05 +01:00
lostd 5335be5832 Functions for setting and clearing the prompt 2014-10-22 17:54:13 +03:00
lostd 0809871aeb Free tmp string if dirname fails 2014-10-22 17:21:53 +03:00
sin 9bc4b92474 No need for a temporary buffer
xdirname() uses xstrdup() internally so we are safe to use that
pointer directly.
2014-10-22 15:14:33 +01:00
sin 35f3b250bb Only free() after xstrdup() 2014-10-22 15:05:14 +01:00
lostd 36cf4136b5 Add xdirname() again and give dirname(3) another chance 2014-10-22 17:02:15 +03:00
sin 577e0284a1 Remove xdirname()
dirname(3) should be shot to death.
2014-10-22 14:44:27 +01:00
sin ef7082b691 Use stat() instead of open() + fstat() 2014-10-22 14:33:17 +01:00
lostd 5aceade801 Forget all history on manual dir change 2014-10-22 16:30:14 +03:00
sin 75143cd93e Add xdirname() to avoid quirks with dirname(3) 2014-10-22 14:22:55 +01:00
sin abd301333d No need to manually strip trailing slashes
We use realpath() now.
2014-10-22 14:18:15 +01:00
sin 9d25101ad9 Add xstrdup() and xrealpath() 2014-10-22 14:15:27 +01:00
sin 7d4d60e778 Add xmalloc() + xrealloc() 2014-10-22 14:10:04 +01:00
sin 8326a75762 printerr() should print to stderr 2014-10-22 14:08:16 +01:00
sin 12106af2a7 Update outdated comment 2014-10-21 16:34:31 +01:00
sin 3808dde641 Always use realpath() and properly chdir() so relative changes via 'c' work 2014-10-21 15:53:12 +01:00
sin 56252bdf98 Add '*' suffix to executables 2014-10-21 15:36:23 +01:00
sin cfd530b167 Fix segfault in readln()
This could be reproduced simply by doing: [TAB] and backspacing
a few times.
2014-10-21 15:29:35 +01:00
sin 330adc995f No need to strdup() 2014-10-21 15:17:44 +01:00
sin 61bc5cd817 Add 'c' command to change into a destination directory by typing the path 2014-10-21 15:14:04 +01:00
sin 58f897fead Add missing break 2014-10-21 14:58:04 +01:00
sin 65b8aa2ab0 Add SEL_SH and bring out spawning of the shell in the main loop 2014-10-21 14:54:32 +01:00
sin d53e604cc2 Add '!' command to spawn a shell in cwd 2014-10-21 14:21:12 +01:00
sin 3bc66a43a7 Show hidden files if run as root 2014-10-21 12:03:53 +01:00
sin 65a01f9636 Include util.h and remove ifdef for Linux 2014-10-21 11:37:34 +01:00
sin d7d40366bd Remove unused global variable 2014-10-21 11:35:57 +01:00
sin d330033c4f Move some more config params to config.def.h 2014-10-21 11:35:08 +01:00
sin 5999cef396 Default to cwd if not argument is provided 2014-10-21 11:29:41 +01:00
sin 43fa667cd6 Add config.def.h 2014-10-21 11:15:27 +01:00
lostd 955152417f Properly wait for processes to terminate 2014-10-13 10:22:05 +03:00
lostd a1e96d7d19 Remember cursor position when going back 2014-10-10 16:55:06 +03:00
lostd 15ba1b15b8 Faster movement key bindings 2014-10-10 15:46:13 +03:00
lostd de7072bdd5 Let filter errors show up in status line 2014-10-10 15:13:13 +03:00
lostd f30e02239e Another leak in the wall 2014-10-10 15:02:26 +03:00
lostd e948949624 Consistent comments capitalization 2014-10-10 14:59:30 +03:00
lostd bfd5f9b1d4 Change default associations 2014-10-10 14:57:02 +03:00
lostd 11bebdf23e The dirp should be initialized here 2014-10-10 13:24:19 +03:00
lostd f05f98e4fe Another part that needs special handling for root 2014-10-10 13:22:18 +03:00
lostd 3277201075 Handle the root path case correctly 2014-10-10 13:14:55 +03:00
sin 61cd0f8041 Only closedir when dirp is valid 2014-10-10 10:12:01 +01:00
lostd 5032930290 Also release filter memory 2014-10-10 10:11:50 +03:00
lostd 1cdfa84f69 Define return codes for nextsel() and use a switch 2014-10-10 10:06:31 +03:00
lostd a75021c2d2 Reset to initial filter on directory change 2014-10-10 09:50:46 +03:00
lostd b0df3806de Search filter support with a very basic readline 2014-10-10 01:35:47 +03:00
sin dc711f2fad Add emacs-like keybinds for next/prev entry selection 2014-10-09 15:54:40 +01:00
sin 51253b0564 Add support a default association 2014-10-09 15:24:39 +01:00
lostd 0e2ea28a30 Printing and line wrapping in a function, show dirs and links 2014-10-09 17:07:21 +03:00
lostd ee8898547c Use our own entry struct instead of dirent 2014-10-09 16:23:12 +03:00
sin 46669d7606 Add regex support 2014-10-09 13:40:40 +03:00
lostd 368b43572d Comment on dirents deep copy 2014-10-08 22:55:44 +03:00
lostd 973aff99b7 Strip redundant spaces 2014-10-08 18:39:07 +03:00
lostd 0b0869ab44 Move debug print after return value check 2014-10-08 18:37:55 +03:00
lostd 6b51ec4585 Use open(2)/fstat(2) and don't bother with links at all 2014-10-08 18:30:39 +03:00
lostd 3459f6a5e7 Use asprintf(3) and avoid manual allocation 2014-10-08 17:59:35 +03:00
lostd 7028eb1838 Keep local copies of dir entries, just keeping pointers was a bug 2014-10-08 15:50:39 +03:00
lostd bc766bc4a8 Fix memory leaks 2014-10-08 15:27:46 +03:00
lostd 4b56e4a122 Avoid sprintf(3) and use snprintf(3) instead 2014-10-08 15:14:11 +03:00
lostd b6c43f66a9 Change string copies to use strlcpy(3) 2014-10-08 15:08:29 +03:00
lostd 1734a96745 No need for strncmp(3), use strcmp(3) instead 2014-10-08 14:57:22 +03:00
lostd f56dec0a4f Shell scripts may be useful 2014-10-08 11:43:11 +03:00
lostd da09d92b25 Use dprintf(3) for debugging 2014-10-08 11:36:17 +03:00
lostd 0deba427a9 Support symbolic links and fix message reporting 2014-10-08 10:52:44 +03:00
lostd c5e5a19d0f Comment on the multiple slashes handling logic 2014-10-07 21:02:58 +03:00
lostd 1475ebbf9a Be consistent on exiting curses mode 2014-10-07 20:59:41 +03:00
lostd 10d2d18cb2 Reorder configuration stuff 2014-10-07 15:36:29 +00:00
lostd 88fd8fcf8b Get layout comment in sync 2014-10-07 14:55:14 +00:00
lostd 9acdb3332b Rework messages and errno warnings 2014-10-07 14:47:35 +00:00
lostd a543eed112 Simplify associations and handle README files 2014-10-07 14:32:03 +00:00
lostd 4384f09726 Fix the empty dir bug 2014-10-07 14:07:56 +00:00
lostd 908e43cc67 Take care of line wrapping and odd number of lines 2014-10-07 14:00:25 +00:00
lostd fdf42ec502 Exit curses mode while programs run 2014-10-07 11:37:23 +00:00
lostd 4e818a3980 Include lines calculation in redraw 2014-10-07 11:23:44 +00:00
lostd 4fa2a99449 Scrolling listing and dirname handling 2014-10-07 06:49:46 +00:00
lostd 561caf46db Add the noice file browser 2014-10-07 06:05:30 +00:00