소스 검색

Error handling

master
Arun Prakash Jana 5 년 전
부모
커밋
1c9934ab7f
No known key found for this signature in database GPG 키 ID: A75979F35C080412
1개의 변경된 파일11개의 추가작업 그리고 6개의 파일을 삭제
  1. +11
    -6
      src/nnn.c

+ 11
- 6
src/nnn.c 파일 보기

@@ -2465,7 +2465,7 @@ static void dentfree(struct entry *dents)

static int dentfill(char *path, struct entry **dents)
{
int fd, n, count;
int n = 0, count;
ulong num_saved;
struct dirent *dp;
char *namep, *pnb;
@@ -2477,15 +2477,14 @@ static int dentfill(char *path, struct entry **dents)
if (dirp == NULL)
return 0;

fd = dirfd(dirp);

n = 0;
int fd = dirfd(dirp);

if (cfg.blkorder) {
num_files = 0;
dir_blocks = 0;

if (fstatat(fd, ".", &sb_path, 0) == -1) {
closedir(dirp);
printwarn();
return 0;
}
@@ -2522,8 +2521,10 @@ static int dentfill(char *path, struct entry **dents)
} else
dir_blocks += ent_blocks;

if (interrupted)
if (interrupted) {
closedir(dirp);
return n;
}
}
} else {
dir_blocks += (cfg.apparentsz ? sb.st_size : sb.st_blocks);
@@ -2543,6 +2544,7 @@ static int dentfill(char *path, struct entry **dents)
*dents = xrealloc(*dents, total_dents * sizeof(**dents));
if (*dents == NULL) {
free(pnamebuf);
closedir(dirp);
errexit();
}
DPRINTF_P(*dents);
@@ -2556,6 +2558,7 @@ static int dentfill(char *path, struct entry **dents)
pnamebuf = (char *)xrealloc(pnamebuf, namebuflen);
if (pnamebuf == NULL) {
free(*dents);
closedir(dirp);
errexit();
}
DPRINTF_P(pnamebuf);
@@ -2604,8 +2607,10 @@ static int dentfill(char *path, struct entry **dents)
else
num_files = num_saved;

if (interrupted)
if (interrupted) {
closedir(dirp);
return n;
}
} else {
dentp->blocks = (cfg.apparentsz ? sb.st_size : sb.st_blocks);
dir_blocks += dentp->blocks;


불러오는 중...
취소
저장