summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>2009-08-17 13:10:16 +0200
committerMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>2009-08-17 13:15:26 +0200
commit6cc9e4b9006e3f10ff88d20ecd0dd26c2fa63611 (patch)
tree691309f47f9767bfa89c2f510a27b8825dac50fd
parent3dee92fcb9af917da439e2c0cb10449d09d4c9ff (diff)
downloadsamba-6cc9e4b9006e3f10ff88d20ecd0dd26c2fa63611.tar.gz
samba-6cc9e4b9006e3f10ff88d20ecd0dd26c2fa63611.tar.bz2
samba-6cc9e4b9006e3f10ff88d20ecd0dd26c2fa63611.zip
s4: Fixed the int32 datatype support
Should finally fix bug #6136 ("groupType", "sAMAccountType" ... attributes).
-rw-r--r--source4/dsdb/samdb/ldb_modules/simple_ldap_map.c2
-rw-r--r--source4/lib/ldb-samba/ldif_handlers.c6
2 files changed, 4 insertions, 4 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c b/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c
index fe1de1c7d6..8fb639f53f 100644
--- a/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c
+++ b/source4/dsdb/samdb/ldb_modules/simple_ldap_map.c
@@ -147,7 +147,7 @@ static struct ldb_val objectCategory_always_dn(struct ldb_module *module, TALLOC
static struct ldb_val normalise_to_signed32(struct ldb_module *module, TALLOC_CTX *ctx, const struct ldb_val *val)
{
struct ldb_val out;
- int32_t i = (int32_t) strtol((char *)val->data, NULL, 0);
+ int32_t i = (int32_t) strtoll((char *)val->data, NULL, 0);
out = data_blob_string_const(talloc_asprintf(ctx, "%d", i));
return out;
}
diff --git a/source4/lib/ldb-samba/ldif_handlers.c b/source4/lib/ldb-samba/ldif_handlers.c
index 2d3d2b994d..acf8af7917 100644
--- a/source4/lib/ldb-samba/ldif_handlers.c
+++ b/source4/lib/ldb-samba/ldif_handlers.c
@@ -649,7 +649,7 @@ static int ldif_canonicalise_int32(struct ldb_context *ldb, void *mem_ctx,
const struct ldb_val *in, struct ldb_val *out)
{
char *end;
- int32_t i = (int32_t) strtol((char *)in->data, &end, 0);
+ int32_t i = (int32_t) strtoll((char *)in->data, &end, 0);
if (*end != 0) {
return -1;
}
@@ -665,8 +665,8 @@ static int ldif_canonicalise_int32(struct ldb_context *ldb, void *mem_ctx,
static int ldif_comparison_int32(struct ldb_context *ldb, void *mem_ctx,
const struct ldb_val *v1, const struct ldb_val *v2)
{
- return (int32_t) strtol((char *)v1->data, NULL, 0)
- - (int32_t) strtol((char *)v2->data, NULL, 0);
+ return (int32_t) strtoll((char *)v1->data, NULL, 0)
+ - (int32_t) strtoll((char *)v2->data, NULL, 0);
}
static int extended_dn_write_hex(struct ldb_context *ldb, void *mem_ctx,