sled

Једноставни уређивач текста
git clone https://git.sr.ht/~strahinja/sled
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување fddfc84494f22d245c1a23b2f67bb2bbe05a4dfe
родитељ ad7dd428bef9bfd080c336c1d68b07b9ca1ddfe7
Аутор: Страхиња Радић <contact@strahinja.org>
Датум:   Sat,  8 Jun 2024 13:00:31 +0200

Bugfix: properly handle directories passed as argv[1]

Diffstat:
MTODO | 2+-
Msled.c | 10+++-------
измењених датотека: 2, додавања: 4(+), брисања: 8(-)

diff --git a/TODO b/TODO @@ -5,7 +5,7 @@ TODO [ ] Bugfix: cursor after paste when on last line -[ ] Bugfix: sled /; sled /etc; report "No such file or directory" +[x] Bugfix: sled /; sled /etc; report "No such file or directory" [ ] Check (and possibly remove) leftover constants diff --git a/sled.c b/sled.c @@ -216,11 +216,13 @@ dirname(char* dir, char* path, const size_t dir_size) while (p != dir && *p != '/') { p--; - if (*p == '/') + if (p != dir && *p == '/') { *p = 0; return dir; } + else if (p == dir) + return dir; } dir[0] = '.'; dir[1] = 0; @@ -2648,12 +2650,6 @@ main(int argc, char** argv) dir_access_errno = errno; #ifdef BACKUP_FAIL_OK state.backup_possible = dir_access != -1; -#else /* !BACKUP_FAIL_OK */ - if (dir_access == -1) - { - errno = dir_access_errno; - goto file_error; - } #endif /* BACKUP_FAIL_OK */ if (stat(state.filename, &st) == -1) {