summaryrefslogtreecommitdiffstats
path: root/usr.bin/fetch
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>1997-11-08 22:15:55 +0000
committerobrien <obrien@FreeBSD.org>1997-11-08 22:15:55 +0000
commit00ef31d9b54322056a9879b7b198636ec7812ebf (patch)
tree5b8eca6b5cf3f433847085e52843b7d597dfdc1c /usr.bin/fetch
parenta344274dcf0c430b018829b01f4891e7c169af56 (diff)
downloadFreeBSD-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.c8
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;
}
OpenPOWER on IntegriCloud