mirror of
https://github.com/sheumann/hush.git
synced 2025-01-29 04:33:25 +00:00
use more busybox functions and remove redundant code
This commit is contained in:
parent
b2312e9901
commit
1fb7961e08
@ -56,11 +56,9 @@ static int bsd_sum_file(const char *file, int print_name)
|
|||||||
fp = stdin;
|
fp = stdin;
|
||||||
have_read_stdin = 1;
|
have_read_stdin = 1;
|
||||||
} else {
|
} else {
|
||||||
fp = fopen(file, "r");
|
fp = bb_wfopen(file, "r");
|
||||||
if (fp == NULL) {
|
if (fp == NULL)
|
||||||
bb_perror_msg("%s", file);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
while ((ch = getc(fp)) != EOF) {
|
while ((ch = getc(fp)) != EOF) {
|
||||||
@ -71,22 +69,22 @@ static int bsd_sum_file(const char *file, int print_name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ferror(fp)) {
|
if (ferror(fp)) {
|
||||||
bb_perror_msg("%s", file);
|
bb_perror_msg(file);
|
||||||
if (!IS_STDIN(file))
|
bb_fclose_nonstdin(fp);
|
||||||
fclose(fp);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!IS_STDIN(file) && fclose(fp) == EOF) {
|
if (bb_fclose_nonstdin(fp) == EOF) {
|
||||||
bb_perror_msg("%s", file);
|
bb_perror_msg(file);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("%05d %5s", checksum,
|
printf("%05d %5s ", checksum,
|
||||||
make_human_readable_str(total_bytes, 1, 1024));
|
make_human_readable_str(total_bytes, 1, 1024));
|
||||||
if (print_name > 1)
|
if (print_name > 1)
|
||||||
printf(" %s", file);
|
puts(file);
|
||||||
putchar('\n');
|
else
|
||||||
|
printf("\n");
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -112,7 +110,7 @@ static int sysv_sum_file(const char *file, int print_name)
|
|||||||
} else {
|
} else {
|
||||||
fd = open(file, O_RDONLY);
|
fd = open(file, O_RDONLY);
|
||||||
if (fd == -1) {
|
if (fd == -1) {
|
||||||
bb_perror_msg("%s", file);
|
bb_perror_msg(file);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -125,7 +123,7 @@ static int sysv_sum_file(const char *file, int print_name)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
if (bytes_read == -1) {
|
if (bytes_read == -1) {
|
||||||
bb_perror_msg("%s", file);
|
bb_perror_msg(file);
|
||||||
if (!IS_STDIN(file))
|
if (!IS_STDIN(file))
|
||||||
close(fd);
|
close(fd);
|
||||||
return 0;
|
return 0;
|
||||||
@ -137,18 +135,19 @@ static int sysv_sum_file(const char *file, int print_name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!IS_STDIN(file) && close(fd) == -1) {
|
if (!IS_STDIN(file) && close(fd) == -1) {
|
||||||
bb_perror_msg("%s", file);
|
bb_perror_msg(file);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = (s & 0xffff) + ((s & 0xffffffff) >> 16);
|
r = (s & 0xffff) + ((s & 0xffffffff) >> 16);
|
||||||
checksum = (r & 0xffff) + (r >> 16);
|
checksum = (r & 0xffff) + (r >> 16);
|
||||||
|
|
||||||
printf("%d %s", checksum,
|
printf("%d %s ", checksum,
|
||||||
make_human_readable_str(total_bytes, 1, 512));
|
make_human_readable_str(total_bytes, 1, 512));
|
||||||
if (print_name)
|
if (print_name)
|
||||||
printf(" %s", file);
|
puts(file);
|
||||||
putchar('\n');
|
else
|
||||||
|
printf("\n");
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user