]> granicus.if.org Git - zfs/commitdiff
Apparently it's OK for done to be NULL, which was not clear in the
authorbehlendo <behlendo@7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c>
Tue, 1 Apr 2008 17:00:06 +0000 (17:00 +0000)
committerbehlendo <behlendo@7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c>
Tue, 1 Apr 2008 17:00:06 +0000 (17:00 +0000)
Solaris man page.  Anyway, since apparently this usage is accectable
I've updated the function to handle it.

git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@63 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c

include/sys/vmsystm.h

index 568cb3775ced35ac9deecd04f257948765f83213..fb9ff9710563ba187ab9cd74d17d2284ca53558e 100644 (file)
@@ -37,6 +37,8 @@ copyout(const void *from, void *to, size_t len)
 static __inline__ int
 copyinstr(const void *from, void *to, size_t len, size_t *done)
 {
+       size_t rc;
+
        if (len == 0)
                return -ENAMETOOLONG;
 
@@ -46,7 +48,9 @@ copyinstr(const void *from, void *to, size_t len, size_t *done)
        /* XXX: Should return ENAMETOOLONG if 'strlen(from) > len' */
 
        memset(to, 0, len);
-       *done = copyin(from, to, len - 1);
+       rc = copyin(from, to, len - 1);
+       if (done != NULL)
+               *done = rc;
 
        return 0;
 }