Author: vlendec
Date: 2006-12-16 18:41:22 +0000 (Sat, 16 Dec 2006)
New Revision: 20218

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=20218

Log:
Same fix as r20217 -- can we consolidate that duplicated code a bit?
Modified:
   branches/SAMBA_3_0/source/nsswitch/idmap_tdb.c


Changeset:
Modified: branches/SAMBA_3_0/source/nsswitch/idmap_tdb.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/idmap_tdb.c      2006-12-16 18:37:33 UTC 
(rev 20217)
+++ branches/SAMBA_3_0/source/nsswitch/idmap_tdb.c      2006-12-16 18:41:22 UTC 
(rev 20218)
@@ -340,8 +340,10 @@
        NTSTATUS ret;
        TALLOC_CTX *ctx;
        const char *range;
-       uint32_t low_id = 0;
-       uint32_t high_id = 0;
+       uid_t low_uid = 0;
+       uid_t high_uid = 0;
+       gid_t low_gid = 0;
+       gid_t high_gid = 0;
 
        /* use our own context here */
        ctx = talloc_new(NULL);
@@ -366,6 +368,8 @@
 
        range = lp_parm_const_string(-1, "idmap alloc config", "range", NULL);
        if (range && range[0]) {
+               unsigned low_id, high_id;
+
                if (sscanf(range, "%u - %u", &low_id, &high_id) == 2) {
                        if (low_id < high_id) {
                                idmap_tdb_state.low_gid = 
idmap_tdb_state.low_uid = low_id;
@@ -379,14 +383,14 @@
        }
 
        /* Create high water marks for group and user id */
-       if (lp_idmap_uid(&low_id, &high_id)) {
-               idmap_tdb_state.low_uid = low_id;
-               idmap_tdb_state.high_uid = high_id;
+       if (lp_idmap_uid(&low_uid, &high_uid)) {
+               idmap_tdb_state.low_uid = low_uid;
+               idmap_tdb_state.high_uid = high_uid;
        }
 
-       if (lp_idmap_gid(&low_id, &high_id)) {
-               idmap_tdb_state.low_gid = low_id;
-               idmap_tdb_state.high_gid = high_id;
+       if (lp_idmap_gid(&low_gid, &high_gid)) {
+               idmap_tdb_state.low_gid = low_gid;
+               idmap_tdb_state.high_gid = high_gid;
        }
 
        if (idmap_tdb_state.high_uid <= idmap_tdb_state.low_uid) {
@@ -394,6 +398,8 @@
                DEBUGADD(1, ("idmap will be unable to map foreign SIDs\n"));
                return NT_STATUS_UNSUCCESSFUL;
        } else {
+               uint32 low_id;
+
                if (((low_id = tdb_fetch_int32(idmap_alloc_tdb, HWM_USER)) == 
-1) ||
                    (low_id < idmap_tdb_state.low_uid)) {
                        if (tdb_store_int32(idmap_alloc_tdb, HWM_USER, 
idmap_tdb_state.low_uid) == -1) {
@@ -408,6 +414,8 @@
                DEBUGADD(1, ("idmap will be unable to map foreign SIDs\n"));
                return NT_STATUS_UNSUCCESSFUL;
        } else {
+               uint32 low_id;
+
                if (((low_id = tdb_fetch_int32(idmap_alloc_tdb, HWM_GROUP)) == 
-1) ||
                    (low_id < idmap_tdb_state.low_gid)) {
                        if (tdb_store_int32(idmap_alloc_tdb, HWM_GROUP, 
idmap_tdb_state.low_gid) == -1) {

Reply via email to