/* Written by Ulrich Drepper <drepper@gnu.ai.mit.edu> */
/* Hacked to work with BusyBox by Alfred M. Szmidt <ams@trillian.itslinux.org> */
-#include "internal.h"
+#include "busybox.h"
#include <stdio.h>
#include <errno.h>
#include <ctype.h>
#include <string.h>
#include <endian.h>
-#include "internal.h"
+#include "busybox.h"
//----------------------------------------------------------------------------
//--------md5.h
//----------------------------------------------------------------------------
#include <stdio.h>
-#if defined HAVE_LIMITS_H || _LIBC
+#if defined HAVE_LIMITS_H || defined _LIBC
# include <limits.h>
#endif
static int warn = 0; /* With -w, print a message to standard error warning
about each improperly formatted MD5 checksum line */
-static const char md5sum_usage[] =
- "md5sum [OPTION] [FILE]...\n"
- "or: md5sum [OPTION] -c [FILE]\n"
-#ifndef BB_FEATURE_TRIVIAL_HELP
- "\nPrint or check MD5 checksums.\n\n"
- "Options:\n"
- "With no FILE, or when FILE is -, read standard input.\n\n"
- "\t-b\tread files in binary mode\n"
- "\t-c\tcheck MD5 sums against given list\n"
- "\t-t\tread files in text mode (default)\n"
- "\t-g\tread a string\n"
- "\nThe following two options are useful only when verifying checksums:\n"
- "\t-s,\tdon't output anything, status code shows success\n"
- "\t-w,\twarn about improperly formated MD5 checksum lines\n"
-#endif
-;
-
static int split_3(char *s,
size_t s_len,
unsigned char **u,
free(line);
if (ferror(checkfile_stream)) {
- errorMsg("%s: read error", checkfile_name); /* */
+ errorMsg("%s: read error\n", checkfile_name); /* */
return FALSE;
}
if (file_type_specified && do_check) {
errorMsg("the -b and -t options are meaningless when verifying checksums\n");
- exit FALSE;
+ return EXIT_FAILURE;
}
if (n_strings > 0 && do_check) {
errorMsg("the -g and -c options are mutually exclusive\n");
- exit FALSE;
+ return EXIT_FAILURE;
}
if (status_only && !do_check) {
errorMsg("the -s option is meaningful only when verifying checksums\n");
- exit FALSE;
+ return EXIT_FAILURE;
}
if (warn && !do_check) {
errorMsg("the -w option is meaningful only when verifying checksums\n");
- exit FALSE;
+ return EXIT_FAILURE;
}
if (n_strings > 0) {
if (optind < argc) {
errorMsg("no files may be specified when using -g\n");
- exit FALSE;
+ return EXIT_FAILURE;
}
for (i = 0; i < n_strings; ++i) {
size_t cnt;
}
if (fclose (stdout) == EOF) {
- errorMsg("write error");
- exit FALSE;
+ errorMsg("write error\n");
+ return EXIT_FAILURE;
}
if (have_read_stdin && fclose (stdin) == EOF) {
- errorMsg("standard input");
- exit FALSE;
+ errorMsg("standard input\n");
+ return EXIT_FAILURE;
}
- exit (err == 0 ? TRUE : FALSE);
+ if (err == 0)
+ return EXIT_SUCCESS;
+ else
+ return EXIT_FAILURE;
}