diff options
author | Jakob Kaivo <jkk@ung.org> | 2019-08-06 10:08:26 -0400 |
---|---|---|
committer | Jakob Kaivo <jkk@ung.org> | 2019-08-06 10:08:26 -0400 |
commit | 775b4bb0f74f8b7ebc79dd0ed9a48384e3aadc7f (patch) | |
tree | ec743ab040d08e182e19370164bd2195587474c8 | |
parent | 420d084c391a490f0836baa2721a448ea3c805ce (diff) |
fix -f and error messages
-rw-r--r-- | ln.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -38,26 +38,26 @@ static int ln(const char *path, int dirfd, int sym, int force, int flag) { struct stat st; - if (fstatat(dirfd, path, &st, 0) == 0) { + if (fstatat(dirfd, path, &st, AT_SYMLINK_NOFOLLOW) == 0) { if (!force) { - fprintf(stderr, "ln: %s: %s\n", strerror(EEXIST)); + fprintf(stderr, "ln: %s: %s\n", path, strerror(EEXIST)); return 1; } if (unlinkat(dirfd, path, 0) != 0) { - fprintf(stderr, "ln: %s: %s\n", strerror(errno)); + fprintf(stderr, "ln: %s: %s\n", path, strerror(errno)); return 1; } } if (sym) { if (symlinkat(path, dirfd, path) != 0) { - fprintf(stderr, "ln: %s: %s\n", strerror(errno)); + fprintf(stderr, "ln: %s: %s\n", path, strerror(errno)); return 1; } } else { if (linkat(AT_FDCWD, path, dirfd, path, flag) != 0) { - fprintf(stderr, "ln: %s: %s\n", strerror(errno)); + fprintf(stderr, "ln: %s: %s\n", path, strerror(errno)); return 1; } } |