diff options
author | andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2001-04-09 22:48:12 +0000 |
---|---|---|
committer | andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2001-04-09 22:48:12 +0000 |
commit | 88ea4d5576ceec648bff7f9bbf919fd3ecdff67b (patch) | |
tree | ef367ee8a9096884fb40debdc9e10af8583f9d5f /du.c | |
parent | ada3b10c6a1ad210d6bf4078859792562636f27e (diff) | |
download | busybox-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.c | 17 |
1 files changed, 6 insertions, 11 deletions
@@ -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 | /* |
202 | Local Variables: | 197 | Local Variables: |
203 | c-file-style: "linux" | 198 | c-file-style: "linux" |