]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - support/misc/mountpoint.c
nfsd: allow choosing server 41 support at runtime
[nfs-utils.git] / support / misc / mountpoint.c
index 6d0f34eab4954826fd636dcf3a5dd4f1eef6b35f..a72fb92adf046cea2fd6acceb2a33df45521570f 100644 (file)
@@ -4,7 +4,7 @@
  */
 
 #include <string.h>
-#include <malloc.h>
+#include "xcommon.h"
 #include <sys/stat.h>
 
 int
@@ -20,15 +20,20 @@ is_mountpoint(char *path)
         */
        char *dotdot;
        struct stat stb, pstb;
+       int rv;
+
+       dotdot = xmalloc(strlen(path)+4);
 
-       dotdot = malloc(strlen(path)+4);
        strcat(strcpy(dotdot, path), "/..");
        if (lstat(path, &stb) != 0 ||
            lstat(dotdot, &pstb) != 0)
-               return 0;
-
-       if (stb.st_dev != pstb.st_dev
-           || stb.st_ino == pstb.st_ino)
-               return 1;
-       return 0;
+               rv = 0;
+       else
+               if (stb.st_dev != pstb.st_dev ||
+                   stb.st_ino == pstb.st_ino)
+                       rv = 1;
+               else
+                       rv = 0;
+       free(dotdot);
+       return rv;
 }