]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Issue 232: Restructure this so that r is correctly set
authorTim Kientzle <kientzle@gmail.com>
Tue, 24 Jan 2012 06:43:52 +0000 (01:43 -0500)
committerTim Kientzle <kientzle@gmail.com>
Tue, 24 Jan 2012 06:43:52 +0000 (01:43 -0500)
before being used.

SVN-Revision: 4202

libarchive/archive_acl.c

index e4ce90d0e4433c7a52adf25a8481323730519b90..f9ec4a238e598630b365fa72d51a9c506afecf9e 100644 (file)
@@ -504,20 +504,20 @@ archive_acl_text_w(struct archive *a, struct archive_acl *acl, int flags)
 
                ap = acl->acl_head;
                while (ap != NULL) {
-                       r = 0;
-                       if ((ap->type & ARCHIVE_ENTRY_ACL_TYPE_ACCESS) != 0 &&
-                           (r = archive_mstring_get_wcs(a, &ap->name, &wname))
-                             == 0) {
-                               *wp++ = separator;
-                               if (flags & ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID)
-                                       id = ap->id;
-                               else
-                                       id = -1;
-                               append_entry_w(&wp, NULL, ap->tag, wname,
-                                   ap->permset, id);
-                               count++;
-                       } else if (r < 0 && errno == ENOMEM)
-                               return (NULL);
+                       if ((ap->type & ARCHIVE_ENTRY_ACL_TYPE_ACCESS) != 0) {
+                               r = archive_mstring_get_wcs(a, &ap->name, &wname);
+                               if (r == 0) {
+                                       *wp++ = separator;
+                                       if (flags & ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID)
+                                               id = ap->id;
+                                       else
+                                               id = -1;
+                                       append_entry_w(&wp, NULL, ap->tag, wname,
+                                           ap->permset, id);
+                                       count++;
+                               } else if (r < 0 && errno == ENOMEM)
+                                       return (NULL);
+                       }
                        ap = ap->next;
                }
        }
@@ -531,20 +531,21 @@ archive_acl_text_w(struct archive *a, struct archive_acl *acl, int flags)
                ap = acl->acl_head;
                count = 0;
                while (ap != NULL) {
-                       if ((ap->type & ARCHIVE_ENTRY_ACL_TYPE_DEFAULT) != 0 &&
-                           (r = archive_mstring_get_wcs(a, &ap->name,
-                                       &wname)) == 0) {
-                               if (count > 0)
-                                       *wp++ = separator;
-                               if (flags & ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID)
-                                       id = ap->id;
-                               else
-                                       id = -1;
-                               append_entry_w(&wp, prefix, ap->tag,
-                                   wname, ap->permset, id);
-                               count ++;
-                       } else if (r < 0 && errno == ENOMEM)
-                               return (NULL);
+                       if ((ap->type & ARCHIVE_ENTRY_ACL_TYPE_DEFAULT) != 0) {
+                               r = archive_mstring_get_wcs(a, &ap->name, &wname);
+                               if (r == 0) {
+                                       if (count > 0)
+                                               *wp++ = separator;
+                                       if (flags & ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID)
+                                               id = ap->id;
+                                       else
+                                               id = -1;
+                                       append_entry_w(&wp, prefix, ap->tag,
+                                           wname, ap->permset, id);
+                                       count ++;
+                               } else if (r < 0 && errno == ENOMEM)
+                                       return (NULL);
+                       }
                        ap = ap->next;
                }
        }