Author: idra Date: 2005-12-09 18:13:09 +0000 (Fri, 09 Dec 2005) New Revision: 12147
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=12147 Log: use casts as metze suggested Modified: branches/tmp/samba4_ldap_controls/source/lib/ldb/include/ldb.h branches/tmp/samba4_ldap_controls/source/lib/ldb/modules/paged_results.c branches/tmp/samba4_ldap_controls/source/lib/ldb/tools/ldbtest_controls.c Changeset: Modified: branches/tmp/samba4_ldap_controls/source/lib/ldb/include/ldb.h =================================================================== --- branches/tmp/samba4_ldap_controls/source/lib/ldb/include/ldb.h 2005-12-09 17:49:48 UTC (rev 12146) +++ branches/tmp/samba4_ldap_controls/source/lib/ldb/include/ldb.h 2005-12-09 18:13:09 UTC (rev 12147) @@ -255,10 +255,7 @@ struct ldb_control { const char *oid; BOOL critical; - union { - void *unknown; - struct ldb_paged_control *paged_control; - } data; + void *data; }; struct ldb_credentials; Modified: branches/tmp/samba4_ldap_controls/source/lib/ldb/modules/paged_results.c =================================================================== --- branches/tmp/samba4_ldap_controls/source/lib/ldb/modules/paged_results.c 2005-12-09 17:49:48 UTC (rev 12146) +++ branches/tmp/samba4_ldap_controls/source/lib/ldb/modules/paged_results.c 2005-12-09 18:13:09 UTC (rev 12147) @@ -128,7 +128,8 @@ /* save it locally and remove it from the list */ ctrl = req->controls[i]; pc_pos = i; - paged_ctrl = req->controls[i]->data.paged_control; + /* paged_ctrl = talloc_get_type(req->controls[i]->data, struct ldb_paged_control); */ + paged_ctrl = (struct ldb_paged_control *)req->controls[i]->data; while (req->controls[i]) { req->controls[i] = req->controls[i+1]; i++; @@ -202,7 +203,7 @@ talloc_free(paged_result); return LDB_ERR_OTHER; } - paged_result->controls[0]->data.paged_control = paged_ret; + paged_result->controls[0]->data = paged_ret; if (paged_ctrl->size >= current->result->count) { paged_ret->size = 0; Modified: branches/tmp/samba4_ldap_controls/source/lib/ldb/tools/ldbtest_controls.c =================================================================== --- branches/tmp/samba4_ldap_controls/source/lib/ldb/tools/ldbtest_controls.c 2005-12-09 17:49:48 UTC (rev 12146) +++ branches/tmp/samba4_ldap_controls/source/lib/ldb/tools/ldbtest_controls.c 2005-12-09 18:13:09 UTC (rev 12147) @@ -67,6 +67,7 @@ struct ldb_request req; struct ldb_result *result = NULL; struct ldb_control **ctrl; + struct ldb_paged_control *paged_control, *paged_result; total = 0; @@ -75,11 +76,12 @@ ctrl[1] = NULL; ctrl[0]->oid = "1.2.840.113556.1.4.319"; ctrl[0]->critical = True; - ctrl[0]->data.paged_control = talloc(ctrl[0], struct ldb_paged_control); - ctrl[0]->data.paged_control->size = 10; - ctrl[0]->data.paged_control->cookie = NULL; - ctrl[0]->data.paged_control->cookie_len = 0; - + paged_control = talloc(ctrl[0], struct ldb_paged_control); + paged_control->size = 10; + paged_control->cookie = NULL; + paged_control->cookie_len = 0; + ctrl[0]->data = paged_control; + req.operation = LDB_REQ_SEARCH; req.op.search.base = basedn; req.op.search.scope = scope; @@ -119,14 +121,15 @@ ldb_ldif_write_file(ldb, stdout, &ldif); } - if (result->controls[0]->data.paged_control->cookie_len == 0) break; - if (ctrl[0]->data.paged_control->cookie) - talloc_free(ctrl[0]->data.paged_control->cookie); - ctrl[0]->data.paged_control->cookie = - talloc_memdup(ctrl[0]->data.paged_control, - result->controls[0]->data.paged_control->cookie, - result->controls[0]->data.paged_control->cookie_len); - ctrl[0]->data.paged_control->cookie_len = result->controls[0]->data.paged_control->cookie_len; + /* paged_result = talloc_get_type(result->controls[0]->data, struct ldb_paged_control); */ + paged_result = (struct ldb_paged_control *)result->controls[0]->data; + if (paged_result->cookie_len == 0) break; + if (paged_control->cookie) + talloc_free(paged_control->cookie); + paged_control->cookie = talloc_memdup(paged_control, + paged_result->cookie, + paged_result->cookie_len); + paged_control->cookie_len = paged_result->cookie_len; req.op.search.res = NULL; }