diff --git a/usr.bin/fetch/file.c b/usr.bin/fetch/file.c index 091639c9a18b..73769335ec30 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 @@ -40,6 +40,8 @@ #include #include +#include +#include #include #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; }