X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=utils%2Fmount%2Fmount.c;h=e2d3b53b611b873aa192529f6bd62fd692b48de8;hb=12a09252e2698421fd1c81af9b2e6597966693d3;hp=171c714bf2350ec36d0c228aa790098791d9c1c6;hpb=3b55934b9baefecee17aefc3ea139e261a4b03b8;p=nfs-utils.git diff --git a/utils/mount/mount.c b/utils/mount/mount.c index 171c714..e2d3b53 100644 --- a/utils/mount/mount.c +++ b/utils/mount/mount.c @@ -185,6 +185,7 @@ int add_mtab(char *fsname, char *mount_point, char *fstype, int flags, char *opt lock_mtab(); if ((mtab = setmntent(MOUNTED, "a+")) == NULL) { + unlock_mtab(); fprintf(stderr, "Can't open " MOUNTED); return 1; } @@ -308,7 +309,7 @@ static void mount_error(char *mntpnt, char *node) fprintf(stderr, "%s: %s\n", progname, strerror(errno)); } } -static int chk_mountpoint(mount_point) +static int chk_mountpoint(char *mount_point) { struct stat sb; @@ -383,22 +384,17 @@ int main(int argc, char *argv[]) { int c, flags = 0, nfs_mount_vers = 0, mnt_err = 1, fake = 0; char *spec, *mount_point, *extra_opts = NULL; - char *mount_opts = NULL, *p; + char *mount_opts = NULL; uid_t uid = getuid(); - progname = argv[0]; - if (!progname) - exit(2); - - if ((p = strrchr(progname, '/')) != NULL) - progname = p+1; + progname = basename(argv[0]); if(!strncmp(progname, "umount", strlen("umount"))) { if(argc < 2) { umount_usage(); exit(1); } - exit(nfsumount(argc, argv) ? 0 : 1); + exit(nfsumount(argc, argv)); } if(argv[1] && argv[1][0] == '-') {