1
1

Properly free return value of opendir() on calculation interrupt

When interrupinting the calculation process by pressing 'q' while
it's looping through a directory, or when a directory could be openend
but not chdir()'ed into, closedir() wasn't called.
Этот коммит содержится в:
Yorhel 2009-06-06 23:19:26 +02:00
родитель 21f2e62793
Коммит e5cc7703d7
2 изменённых файлов: 4 добавлений и 0 удалений

Просмотреть файл

@ -3,6 +3,7 @@ git - ?
- Properly select the next item after deletion - Properly select the next item after deletion
- Removed reliance of dirfd() - Removed reliance of dirfd()
- Fixed non-void return in void delete_process() - Fixed non-void return in void delete_process()
- Fixed several tiny memory leaks
1.5 - 2009-05-02 1.5 - 2009-05-02
- Fixed incorrect apparent size on directory refresh - Fixed incorrect apparent size on directory refresh

Просмотреть файл

@ -177,6 +177,8 @@ int calc_dir(struct dir *dest, char *name) {
while((t = t->parent) != NULL) while((t = t->parent) != NULL)
t->flags |= FF_SERR; t->flags |= FF_SERR;
calc_leavepath(); calc_leavepath();
if(dir != NULL)
closedir(dir);
return 0; return 0;
} }
@ -187,6 +189,7 @@ int calc_dir(struct dir *dest, char *name) {
dest->flags |= FF_ERR; dest->flags |= FF_ERR;
if(input_handle(1)) { if(input_handle(1)) {
calc_leavepath(); calc_leavepath();
closedir(dir);
return 1; return 1;
} }
calc_leavepath(); calc_leavepath();