vfs_fruit: return value of ad_pack in vfs_fruit.c
authorRalph Boehme <slow@samba.org>
Sun, 27 Sep 2015 10:11:31 +0000 (12:11 +0200)
committerUri Simchoni <uri@samba.org>
Tue, 6 Oct 2015 14:14:42 +0000 (16:14 +0200)
ad_pack() in vfs_fruit.c returns false on failure and 0 on success -
i.e. return value is interpreted as success even when it fails.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Uri Simchoni <uri@samba.org>
Autobuild-User(master): Uri Simchoni <uri@samba.org>
Autobuild-Date(master): Tue Oct  6 16:14:42 CEST 2015 on sn-devel-104

source3/modules/vfs_fruit.c

index c90699f78ca2292bd8a7c762671100394bded193..8393366857c7c9b203462179d81de54b911758a6 100644 (file)
@@ -567,7 +567,7 @@ static bool ad_pack(struct adouble *ad)
        }
        RSSVAL(ad->ad_data, ADEDOFF_NENTRIES, nent);
 
-       return 0;
+       return true;
 }
 
 /**
@@ -949,8 +949,9 @@ static ssize_t ad_header_read_rsrc(struct adouble *ad, const char *path)
                        /*
                         * Can't use ad_write() because we might not have a fsp
                         */
-                       rc = ad_pack(ad);
-                       if (rc != 0) {
+                       ok = ad_pack(ad);
+                       if (!ok) {
+                               rc = -1;
                                goto exit;
                        }
                        /* FIXME: direct sys_pwrite(), don't have an fsp */
@@ -1211,10 +1212,11 @@ static int ad_write(struct adouble *ad, const char *path)
 {
        int rc = 0;
        ssize_t len;
+       bool ok;
 
-       rc = ad_pack(ad);
-       if (rc != 0) {
-               goto exit;
+       ok = ad_pack(ad);
+       if (!ok) {
+               return -1;
        }
 
        switch (ad->ad_type) {