diff options
author | obrien <obrien@FreeBSD.org> | 1997-11-08 22:15:55 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 1997-11-08 22:15:55 +0000 |
commit | 00ef31d9b54322056a9879b7b198636ec7812ebf (patch) | |
tree | 5b8eca6b5cf3f433847085e52843b7d597dfdc1c /usr.bin/fetch | |
parent | a344274dcf0c430b018829b01f4891e7c169af56 (diff) | |
download | FreeBSD-src-00ef31d9b54322056a9879b7b198636ec7812ebf.zip FreeBSD-src-00ef31d9b54322056a9879b7b198636ec7812ebf.tar.gz |
If "-l" is given, make sure the target of the link exist.
Diffstat (limited to 'usr.bin/fetch')
-rw-r--r-- | usr.bin/fetch/file.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/usr.bin/fetch/file.c b/usr.bin/fetch/file.c index 091639c..7376933 100644 --- a/usr.bin/fetch/file.c +++ b/usr.bin/fetch/file.c @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: file.c,v 1.1 1997/01/30 21:43:39 wollman Exp $ */ #include <sys/types.h> @@ -40,6 +40,8 @@ #include <sysexits.h> #include <unistd.h> +#include <sys/types.h> +#include <sys/stat.h> #include <sys/wait.h> #include "fetch.h" @@ -104,8 +106,10 @@ file_retrieve(struct fetch_state *fs) } if (fs->fs_linkfile) { + struct stat sb; fs->fs_status = "symlink"; - if (symlink(fs->fs_proto, fs->fs_outputfile) == -1) { + if (stat(fs->fs_proto, &sb) == -1 + || symlink(fs->fs_proto, fs->fs_outputfile) == -1) { warn("symlink"); return EX_OSERR; } |