From e46507f206f7adcb8d2e218963d2115236e86604 Mon Sep 17 00:00:00 2001 From: Stelian Pop Date: Tue, 14 Aug 2001 13:11:58 +0000 Subject: [PATCH] Fixed restore to use the full volume path when doing a compare. --- CHANGES | 6 +++++- restore/main.c | 16 ++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index ff90fc7..72a61c3 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,4 @@ -$Id: CHANGES,v 1.130 2001/08/13 16:17:52 stelian Exp $ +$Id: CHANGES,v 1.131 2001/08/14 13:11:58 stelian Exp $ Changes between versions 0.4b23 and 0.4b24 (released ?????????????) =================================================================== @@ -9,6 +9,10 @@ Changes between versions 0.4b23 and 0.4b24 (released ?????????????) definition was a complete mess, making possible to have objects overlap). +3. Fixed restore to use the full tape volume path when doing + a compare (since it changes the working directory to the + filesystem being compared in the process). + Changes between versions 0.4b22 and 0.4b23 (released July 20, 2001) =================================================================== diff --git a/restore/main.c b/restore/main.c index 8d9c6d2..3feca82 100644 --- a/restore/main.c +++ b/restore/main.c @@ -41,7 +41,7 @@ #ifndef lint static const char rcsid[] = - "$Id: main.c,v 1.27 2001/08/13 16:17:52 stelian Exp $"; + "$Id: main.c,v 1.28 2001/08/14 13:11:58 stelian Exp $"; #endif /* not lint */ #include @@ -277,7 +277,19 @@ main(int argc, char *argv[]) atexit(cleanup); - setinput(inputdev); + if (command == 'C' && inputdev[0] != '/') { + /* since we chdir into the directory we are comparing + * to, we must retain the full tape path */ + char wd[MAXPATHLEN], fullpathinput[MAXPATHLEN]; + if (!getcwd(wd, MAXPATHLEN)) + err(1, "can't get current directory"); + snprintf(fullpathinput, MAXPATHLEN, "%s/%s", wd, inputdev); + fullpathinput[MAXPATHLEN - 1] = '\0'; +printf("FULLPATH is %s\n", fullpathinput); + setinput(fullpathinput); + } + else + setinput(inputdev); if (argc == 0 && !filelist) { argc = 1; -- 2.39.2