The branch, master has been updated
       via  d652803 ldb:"ldb_schema_attribute_by_name_internal" - support the 
whole unsigned int range
       via  a6d70dd s4:dsdb/schema/schema_init.c - remove a duplicated 
"talloc_free"
      from  a9b58f6 s4:samdb.py - remove a pointless comment

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit d652803c12b79315fe6a1d0410b82492908950e4
Author: Matthias Dieter Wallnöfer <m...@samba.org>
Date:   Tue Oct 19 11:30:24 2010 +0200

    ldb:"ldb_schema_attribute_by_name_internal" - support the whole unsigned 
int range
    
    Commit 8556602b048e825b35df314d6865f997823ec2bb wasn't quite right - it only
    restored the functionality on the positive integer range.
    
    This one however should now really support the whole unsigned range.
    
    Autobuild-User: Matthias Dieter Wallnöfer <m...@samba.org>
    Autobuild-Date: Tue Oct 19 10:52:08 UTC 2010 on sn-devel-104

commit a6d70ddf86842db6fbd76da857cb0c70fb48aacf
Author: Matthias Dieter Wallnöfer <m...@samba.org>
Date:   Tue Oct 19 11:46:34 2010 +0200

    s4:dsdb/schema/schema_init.c - remove a duplicated "talloc_free"

-----------------------------------------------------------------------

Summary of changes:
 source4/dsdb/schema/schema_init.c       |    1 -
 source4/lib/ldb/common/ldb_attributes.c |   12 +++++-------
 2 files changed, 5 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/dsdb/schema/schema_init.c 
b/source4/dsdb/schema/schema_init.c
index 54fc6b8..6dbf9ba 100644
--- a/source4/dsdb/schema/schema_init.c
+++ b/source4/dsdb/schema/schema_init.c
@@ -80,7 +80,6 @@ static WERROR _dsdb_prefixmap_from_ldb_val(const struct 
ldb_val *pfm_ldb_val,
                                (ndr_pull_flags_fn_t)ndr_pull_prefixMapBlob);
        if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
                NTSTATUS nt_status = ndr_map_error2ntstatus(ndr_err);
-               talloc_free(temp_ctx);
                DEBUG(0,("_dsdb_prefixmap_from_ldb_val: Failed to parse 
prefixmap of length %u: %s\n",
                         (unsigned int)pfm_ldb_val->length, 
ndr_map_error2string(ndr_err)));
                talloc_free(temp_ctx);
diff --git a/source4/lib/ldb/common/ldb_attributes.c 
b/source4/lib/ldb/common/ldb_attributes.c
index ea6fafd..21a3e6e 100644
--- a/source4/lib/ldb/common/ldb_attributes.c
+++ b/source4/lib/ldb/common/ldb_attributes.c
@@ -123,8 +123,8 @@ static const struct ldb_schema_attribute 
*ldb_schema_attribute_by_name_internal(
        const char *name)
 {
        /* for binary search we need signed variables */
-       int r, i, e, b = 0;
-       unsigned int u_i;
+       unsigned int i, e, b = 0;
+       int r;
        const struct ldb_schema_attribute *def = &ldb_attribute_default;
 
        /* as handlers are sorted, '*' must be the first if present */
@@ -136,20 +136,18 @@ static const struct ldb_schema_attribute 
*ldb_schema_attribute_by_name_internal(
        /* do a binary search on the array */
        e = ldb->schema.num_attributes - 1;
 
-       while (b <= e) {
+       while ((b <= e) && (e != (unsigned int) -1)) {
                i = (b + e) / 2;
 
-               u_i = (unsigned int) i;
-               r = ldb_attr_cmp(name, ldb->schema.attributes[u_i].name);
+               r = ldb_attr_cmp(name, ldb->schema.attributes[i].name);
                if (r == 0) {
-                       return &ldb->schema.attributes[u_i];
+                       return &ldb->schema.attributes[i];
                }
                if (r < 0) {
                        e = i - 1;
                } else {
                        b = i + 1;
                }
-
        }
 
        return def;


-- 
Samba Shared Repository

Reply via email to