#ifndef lint
static const char rcsid[] =
- "$Id: main.c,v 1.92 2004/04/21 08:55:51 stelian Exp $";
+ "$Id: main.c,v 1.96 2009/07/23 09:34:07 stelian Exp $";
#endif /* not lint */
#include <config.h>
#include <sys/time.h>
#include <time.h>
#ifdef __linux__
+#include <linux/types.h>
#ifdef HAVE_EXT2FS_EXT2_FS_H
#include <ext2fs/ext2_fs.h>
#else
quit("TP_BSIZE must be a multiple of DEV_BSIZE\n");
memset(&lastlevel, 0, NUM_STR_SIZE);
memset(&level, 0, NUM_STR_SIZE);
+ /* Default dump level is zero. */
+ level[0] = '0';
if (argc < 2)
usage();
}
(void)setuid(getuid()); /* rmthost() is the only reason to be setuid */
- if (Apath && (Afile = open(Apath, O_WRONLY|O_CREAT|O_TRUNC,
+ if (Apath && (Afile = OPEN(Apath, O_WRONLY|O_CREAT|O_TRUNC,
S_IRUSR | S_IWUSR | S_IRGRP |
S_IWGRP | S_IROTH | S_IWOTH)) < 0) {
msg("Cannot open %s for writing: %s\n",
diskparam[i] = '\0';
disk = get_device_name(diskparam);
- if (!disk) { /* null means the disk is some form
- of LABEL= or UID= but it was not
- found */
- msg("Cannot find a disk having %s\n", diskparam);
- msg("The ENTIRE dump is aborted.\n");
- exit(X_STARTUP);
- }
+ if (!disk)
+ disk = strdup(diskparam);
+
/*
* disk can be either the full special file name,
* the suffix of the special file name,