aboutsummaryrefslogtreecommitdiff
path: root/du.c
diff options
context:
space:
mode:
authorandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2001-04-09 22:48:12 +0000
committerandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2001-04-09 22:48:12 +0000
commit88ea4d5576ceec648bff7f9bbf919fd3ecdff67b (patch)
treeef367ee8a9096884fb40debdc9e10af8583f9d5f /du.c
parentada3b10c6a1ad210d6bf4078859792562636f27e (diff)
downloadbusybox-w32-88ea4d5576ceec648bff7f9bbf919fd3ecdff67b.tar.gz
busybox-w32-88ea4d5576ceec648bff7f9bbf919fd3ecdff67b.tar.bz2
busybox-w32-88ea4d5576ceec648bff7f9bbf919fd3ecdff67b.zip
Apply Vladimir's latest cleanup patch.
-Erik git-svn-id: svn://busybox.net/trunk/busybox@2288 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'du.c')
-rw-r--r--du.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/du.c b/du.c
index 7cb888de8..119895e49 100644
--- a/du.c
+++ b/du.c
@@ -83,7 +83,8 @@ static long du(char *filename)
83 int len; 83 int len;
84 84
85 if ((lstat(filename, &statbuf)) != 0) { 85 if ((lstat(filename, &statbuf)) != 0) {
86 perror_msg_and_die("%s", filename); 86 perror_msg("%s", filename);
87 return 0;
87 } 88 }
88 89
89 du_depth++; 90 du_depth++;
@@ -110,22 +111,16 @@ static long du(char *filename)
110 filename[--len] = '\0'; 111 filename[--len] = '\0';
111 112
112 while ((entry = readdir(dir))) { 113 while ((entry = readdir(dir))) {
113 char newfile[BUFSIZ + 1]; 114 char *newfile;
114 char *name = entry->d_name; 115 char *name = entry->d_name;
115 116
116 if ((strcmp(name, "..") == 0) 117 if ((strcmp(name, "..") == 0)
117 || (strcmp(name, ".") == 0)) { 118 || (strcmp(name, ".") == 0)) {
118 continue; 119 continue;
119 } 120 }
120 121 newfile = concat_path_file(filename, name);
121 if (len + strlen(name) + 1 > BUFSIZ) {
122 error_msg(name_too_long);
123 du_depth--;
124 return 0;
125 }
126 sprintf(newfile, "%s/%s", filename, name);
127
128 sum += du(newfile); 122 sum += du(newfile);
123 free(newfile);
129 } 124 }
130 closedir(dir); 125 closedir(dir);
131 print(sum, filename); 126 print(sum, filename);
@@ -197,7 +192,7 @@ int du_main(int argc, char **argv)
197 return status; 192 return status;
198} 193}
199 194
200/* $Id: du.c,v 1.43 2001/03/09 14:36:42 andersen Exp $ */ 195/* $Id: du.c,v 1.44 2001/04/09 22:48:11 andersen Exp $ */
201/* 196/*
202Local Variables: 197Local Variables:
203c-file-style: "linux" 198c-file-style: "linux"