|
|
1.1 ! root 1: /* link.c ! 2: Link two files. */ ! 3: ! 4: #include "uucp.h" ! 5: ! 6: #include "uudefs.h" ! 7: #include "sysdep.h" ! 8: #include "system.h" ! 9: ! 10: #include <errno.h> ! 11: ! 12: boolean ! 13: fsysdep_link (zfrom, zto, pfworked) ! 14: const char *zfrom; ! 15: const char *zto; ! 16: boolean *pfworked; ! 17: { ! 18: *pfworked = FALSE; ! 19: if (link (zfrom, zto) == 0) ! 20: { ! 21: *pfworked = TRUE; ! 22: return TRUE; ! 23: } ! 24: if (errno == ENOENT) ! 25: { ! 26: if (! fsysdep_make_dirs (zto, TRUE)) ! 27: return FALSE; ! 28: if (link (zfrom, zto) == 0) ! 29: { ! 30: *pfworked = TRUE; ! 31: return TRUE; ! 32: } ! 33: } ! 34: if (errno == EXDEV) ! 35: return TRUE; ! 36: ulog (LOG_ERROR, "link (%s, %s): %s", zfrom, zto, strerror (errno)); ! 37: return FALSE; ! 38: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.