svn commit: samba r20885 - in branches/SAMBA_4_0/source/scripting/ejs/ejsnet: .

mimir at samba.org mimir at samba.org
Thu Jan 18 23:22:00 GMT 2007


Author: mimir
Date: 2007-01-18 23:21:59 +0000 (Thu, 18 Jan 2007)
New Revision: 20885

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

Log:
- I forgot the page size passed to enumeration function is actually
  size of a buffer for result returned, not number of entries
- pass libnet function returned status to UserListCtx creation
  to properly mark the last chunk of the list


rafal


Modified:
   branches/SAMBA_4_0/source/scripting/ejs/ejsnet/mpr_user.c
   branches/SAMBA_4_0/source/scripting/ejs/ejsnet/net_user.c


Changeset:
Modified: branches/SAMBA_4_0/source/scripting/ejs/ejsnet/mpr_user.c
===================================================================
--- branches/SAMBA_4_0/source/scripting/ejs/ejsnet/mpr_user.c	2007-01-18 22:08:38 UTC (rev 20884)
+++ branches/SAMBA_4_0/source/scripting/ejs/ejsnet/mpr_user.c	2007-01-18 23:21:59 UTC (rev 20885)
@@ -100,11 +100,13 @@
   UserListCtx.Users[]
   UserListCtx.ResumeIndex
   UserListCtx.Count
+  UserListCtx.EndOfList
  */
-struct MprVar mprUserListCtx(TALLOC_CTX *mem_ctx, struct libnet_UserList *list)
+struct MprVar mprUserListCtx(TALLOC_CTX *mem_ctx, struct libnet_UserList *list, NTSTATUS result)
 {
 	const char *name = "UserListCtx";
 	NTSTATUS status;
+	bool endOfList;
 	struct MprVar mprListCtx, mprUserList;
 	struct MprVar mprUser, mprSid, mprUsername;
 	int i;
@@ -114,6 +116,9 @@
 		goto done;
 	}
 
+	endOfList = (NT_STATUS_EQUAL(result, NT_STATUS_NO_MORE_ENTRIES) ||
+		     NT_STATUS_IS_OK(result));
+
 	mprUserList = mprArray("Users");
 	for (i = 0; i < list->out.count; i++) {
 		struct userlist u = list->out.users[i];
@@ -128,7 +133,7 @@
 		mprSetVar(&mprUser, "SID", mprSid);
 		
 		/* add the object to the array being constructed */
-		mprAddArray(&mprUserList, 0, mprUser);
+		mprAddArray(&mprUserList, i, mprUser);
 	}
 
 	mprListCtx = mprObject(name);
@@ -138,6 +143,7 @@
 	if (!NT_STATUS_IS_OK(status)) goto done;
 	status = mprSetVar(&mprListCtx, "ResumeIndex", mprCreateIntegerVar((int)list->out.resume_index));
 	if (!NT_STATUS_IS_OK(status)) goto done;
+	status = mprSetVar(&mprListCtx, "EndOfList", mprCreateBoolVar(endOfList));
 
 done:
 	return mprListCtx;

Modified: branches/SAMBA_4_0/source/scripting/ejs/ejsnet/net_user.c
===================================================================
--- branches/SAMBA_4_0/source/scripting/ejs/ejsnet/net_user.c	2007-01-18 22:08:38 UTC (rev 20884)
+++ branches/SAMBA_4_0/source/scripting/ejs/ejsnet/net_user.c	2007-01-18 23:21:59 UTC (rev 20885)
@@ -299,7 +299,7 @@
 	NTSTATUS status;
 	struct libnet_context *ctx;
 	const char *userlist_domain;
-	int page_size = 10;         /* TODO: this should be specified in a nicer way */
+	int page_size = 512;         /* TODO: this should be specified in a nicer way */
 	struct libnet_UserList req;
 	struct MprVar mprListCtx, *mprInListCtx;
 	
@@ -359,7 +359,7 @@
 		goto done;
 	}
 
-	mprListCtx = mprUserListCtx(mem_ctx, &req);
+	mprListCtx = mprUserListCtx(mem_ctx, &req, status);
 
 done:
 	talloc_free(mem_ctx);



More information about the samba-cvs mailing list