diff options
Diffstat (limited to 'coreutils')
-rw-r--r-- | coreutils/du.c | 17 | ||||
-rw-r--r-- | coreutils/echo.c | 2 | ||||
-rw-r--r-- | coreutils/pwd.c | 16 | ||||
-rw-r--r-- | coreutils/tr.c | 2 |
4 files changed, 17 insertions, 20 deletions
diff --git a/coreutils/du.c b/coreutils/du.c index 7cb888d..119895e 100644 --- a/coreutils/du.c +++ b/coreutils/du.c @@ -83,7 +83,8 @@ static long du(char *filename) int len; if ((lstat(filename, &statbuf)) != 0) { - perror_msg_and_die("%s", filename); + perror_msg("%s", filename); + return 0; } du_depth++; @@ -110,22 +111,16 @@ static long du(char *filename) filename[--len] = '\0'; while ((entry = readdir(dir))) { - char newfile[BUFSIZ + 1]; + char *newfile; char *name = entry->d_name; if ((strcmp(name, "..") == 0) || (strcmp(name, ".") == 0)) { continue; } - - if (len + strlen(name) + 1 > BUFSIZ) { - error_msg(name_too_long); - du_depth--; - return 0; - } - sprintf(newfile, "%s/%s", filename, name); - + newfile = concat_path_file(filename, name); sum += du(newfile); + free(newfile); } closedir(dir); print(sum, filename); @@ -197,7 +192,7 @@ int du_main(int argc, char **argv) return status; } -/* $Id: du.c,v 1.43 2001/03/09 14:36:42 andersen Exp $ */ +/* $Id: du.c,v 1.44 2001/04/09 22:48:11 andersen Exp $ */ /* Local Variables: c-file-style: "linux" diff --git a/coreutils/echo.c b/coreutils/echo.c index 1ca3734..31c0315 100644 --- a/coreutils/echo.c +++ b/coreutils/echo.c @@ -81,7 +81,7 @@ echo_main(int argc, char** argv) just_echo: while (argc > 0) { - char *arg = argv[0]; + const char *arg = argv[0]; register int c; while ((c = *arg++)) { diff --git a/coreutils/pwd.c b/coreutils/pwd.c index 2f36b1f..f6a00bf 100644 --- a/coreutils/pwd.c +++ b/coreutils/pwd.c @@ -32,11 +32,13 @@ extern int pwd_main(int argc, char **argv) { - char buf[BUFSIZ + 1]; - - if (getcwd(buf, sizeof(buf)) == NULL) - perror_msg_and_die("getcwd"); - - puts(buf); - return EXIT_SUCCESS; + static char *buf; + + buf = xgetcwd(buf); + + if (buf != NULL) { + puts(buf); + return EXIT_SUCCESS; + } + return EXIT_FAILURE; } diff --git a/coreutils/tr.c b/coreutils/tr.c index 32a4f29..ce15cfd 100644 --- a/coreutils/tr.c +++ b/coreutils/tr.c @@ -93,7 +93,7 @@ static void map(register unsigned char *string1, unsigned int string1_len, } } -static unsigned int expand(char *arg, register unsigned char *buffer) +static unsigned int expand(const char *arg, register unsigned char *buffer) { unsigned char *buffer_start = buffer; int i, ac; |