netapi: re-arrange a little NetLocalGroupSetMembers example code.
authorGünther Deschner <gd@samba.org>
Fri, 5 Sep 2008 21:21:58 +0000 (23:21 +0200)
committerGünther Deschner <gd@samba.org>
Mon, 8 Sep 2008 08:17:06 +0000 (10:17 +0200)
Guenther

source/lib/netapi/examples/localgroup/localgroup_setmembers.c

index acee5cd9c6da53b461d134c2fc0c7032ef73600f..c35f2bbb81f7f8f8494e5df68f6e9a4fec903201 100644 (file)
@@ -40,6 +40,7 @@ int main(int argc, const char **argv)
        uint32_t level = 3;
        const char **names = NULL;
        int i = 0;
+       size_t buf_size = 0;
 
        poptContext pc;
        int opt;
@@ -85,8 +86,9 @@ int main(int argc, const char **argv)
 
        switch (level) {
                case 0:
-                       status = NetApiBufferAllocate(sizeof(struct LOCALGROUP_MEMBERS_INFO_0) * total_entries,
-                                                     (void **)&g0);
+                       buf_size = sizeof(struct LOCALGROUP_MEMBERS_INFO_0) * total_entries;
+
+                       status = NetApiBufferAllocate(buf_size, (void **)&g0);
                        if (status) {
                                printf("NetApiBufferAllocate failed with: %s\n",
                                        libnetapi_get_error_string(ctx, status));
@@ -103,8 +105,9 @@ int main(int argc, const char **argv)
                        buffer = (uint8_t *)g0;
                        break;
                case 3:
-                       status = NetApiBufferAllocate(sizeof(struct LOCALGROUP_MEMBERS_INFO_3) * total_entries,
-                                                     (void **)&g3);
+                       buf_size = sizeof(struct LOCALGROUP_MEMBERS_INFO_3) * total_entries;
+
+                       status = NetApiBufferAllocate(buf_size, (void **)&g3);
                        if (status) {
                                printf("NetApiBufferAllocate failed with: %s\n",
                                        libnetapi_get_error_string(ctx, status));
@@ -133,6 +136,8 @@ int main(int argc, const char **argv)
                        libnetapi_get_error_string(ctx, status));
        }
 
+       NetApiBufferFree(buffer);
+
  out:
        libnetapi_free(ctx);
        poptFreeContext(pc);