s3:idmap: factor out common code of idmap_allocate_uid|gid()
authorMichael Adam <obnox@samba.org>
Sun, 30 May 2010 19:40:44 +0000 (21:40 +0200)
committerMichael Adam <obnox@samba.org>
Sat, 14 Aug 2010 00:10:37 +0000 (02:10 +0200)
into new idmap_allocate_unixid().

source3/winbindd/idmap.c

index a0c083c24875d159758e8b011e7ca6f3122e6878..aaccc0c8e4194d832aa6f0d9f9a0e90ecf8e91db 100644 (file)
@@ -620,7 +620,7 @@ fail:
  idmap allocator interface functions
 **************************************************************************/
 
-NTSTATUS idmap_allocate_uid(struct unixid *id)
+static NTSTATUS idmap_allocate_unixid(struct unixid *id)
 {
        struct idmap_alloc_context *ctx;
        NTSTATUS ret;
@@ -629,21 +629,20 @@ NTSTATUS idmap_allocate_uid(struct unixid *id)
                return ret;
        }
 
-       id->type = ID_TYPE_UID;
        return ctx->methods->allocate_id(id);
 }
 
-NTSTATUS idmap_allocate_gid(struct unixid *id)
-{
-       struct idmap_alloc_context *ctx;
-       NTSTATUS ret;
 
-       if (!NT_STATUS_IS_OK(ret = idmap_alloc_init(&ctx))) {
-               return ret;
-       }
+NTSTATUS idmap_allocate_uid(struct unixid *id)
+{
+       id->type = ID_TYPE_UID;
+       return idmap_allocate_unixid(id);
+}
 
+NTSTATUS idmap_allocate_gid(struct unixid *id)
+{
        id->type = ID_TYPE_GID;
-       return ctx->methods->allocate_id(id);
+       return idmap_allocate_unixid(id);
 }
 
 NTSTATUS idmap_backends_unixid_to_sid(const char *domname, struct id_map *id)