mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-14 10:09:48 +00:00
Fix time of last dump handling.
Submittted by: Richard Wiwatowski <rjwiwat@ozemail.com.au>
This commit is contained in:
parent
e9bc23571b
commit
a741b77965
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=48447
@ -36,7 +36,7 @@
|
|||||||
static char sccsid[] = "@(#)optr.c 8.2 (Berkeley) 1/6/94";
|
static char sccsid[] = "@(#)optr.c 8.2 (Berkeley) 1/6/94";
|
||||||
#endif
|
#endif
|
||||||
static const char rcsid[] =
|
static const char rcsid[] =
|
||||||
"$Id: optr.c,v 1.5 1998/06/15 06:58:11 charnier Exp $";
|
"$Id: optr.c,v 1.6 1999/03/21 23:47:38 jkh Exp $";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
@ -484,7 +484,8 @@ lastdump(arg)
|
|||||||
register struct dumpdates *dtwalk;
|
register struct dumpdates *dtwalk;
|
||||||
char *lastname, *date;
|
char *lastname, *date;
|
||||||
int dumpme;
|
int dumpme;
|
||||||
time_t tnow, then;
|
time_t tnow;
|
||||||
|
struct tm *tlast;
|
||||||
|
|
||||||
(void) time(&tnow);
|
(void) time(&tnow);
|
||||||
getfstab(); /* /etc/fstab input */
|
getfstab(); /* /etc/fstab input */
|
||||||
@ -500,13 +501,17 @@ lastdump(arg)
|
|||||||
if (strncmp(lastname, dtwalk->dd_name,
|
if (strncmp(lastname, dtwalk->dd_name,
|
||||||
sizeof(dtwalk->dd_name)) == 0)
|
sizeof(dtwalk->dd_name)) == 0)
|
||||||
continue;
|
continue;
|
||||||
then = 86400 * (dtwalk->dd_ddate / 86400);
|
date = (char *)ctime(&dtwalk->dd_ddate);
|
||||||
date = (char *)ctime(&then);
|
|
||||||
date[16] = '\0'; /* blast away seconds and year */
|
date[16] = '\0'; /* blast away seconds and year */
|
||||||
lastname = dtwalk->dd_name;
|
lastname = dtwalk->dd_name;
|
||||||
dt = fstabsearch(dtwalk->dd_name);
|
dt = fstabsearch(dtwalk->dd_name);
|
||||||
dumpme = (dt != NULL &&
|
dumpme = (dt != NULL && dt->fs_freq != 0);
|
||||||
dt->fs_freq != 0 && then < tnow - (dt->fs_freq * 86400));
|
if (dumpme) {
|
||||||
|
tlast = localtime(&dtwalk->dd_ddate);
|
||||||
|
dumpme = tnow > (dtwalk->dd_ddate - (tlast->tm_hour * 3600)
|
||||||
|
- (tlast->tm_min * 60) - tlast->tm_sec
|
||||||
|
+ (dt->fs_freq * 86400));
|
||||||
|
};
|
||||||
if (arg != 'w' || dumpme)
|
if (arg != 'w' || dumpme)
|
||||||
(void) printf(
|
(void) printf(
|
||||||
"%c %8s\t(%6s) Last dump: Level %c, Date %s\n",
|
"%c %8s\t(%6s) Last dump: Level %c, Date %s\n",
|
||||||
|
Loading…
Reference in New Issue
Block a user