/* * Copyright (c) 1980 Regents of the University of California. * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * * @(#)symlnk_.c 5.1 6/7/85 */ /* * make a symbolic link to a file * * calling sequence: * ierror = symlnk(name1, name2) * where: * name1 is the pathname of an existing file * name2 is a pathname that will become a symbolic link to name1 * ierror will be 0 if successful; a system error code otherwise. */ #include #include "../libI77/f_errno.h" #ifndef MAXPATHLEN #define MAXPATHLEN 128 #endif long symlnk_(name1, name2, n1len, n2len) char *name1, *name2; long n1len, n2len; { char buf1[MAXPATHLEN]; char buf2[MAXPATHLEN]; if (n1len >= sizeof buf1 || n2len >= sizeof buf2) return((long)(errno=F_ERARG)); g_char(name1, n1len, buf1); g_char(name2, n2len, buf2); if (buf1[0] == '\0' || buf2[0] == '\0') return((long)(errno=F_ERARG)); if (symlink(buf1, buf2) != 0) return((long)errno); return(0L); }