svn commit: samba r19445 - in branches/SAMBA_3_0/source/utils: .
vlendec at samba.org
vlendec at samba.org
Sat Oct 21 16:27:38 GMT 2006
Author: vlendec
Date: 2006-10-21 16:27:38 +0000 (Sat, 21 Oct 2006)
New Revision: 19445
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19445
Log:
Attempt to fix net rpc share
Modified:
branches/SAMBA_3_0/source/utils/net_rpc.c
Changeset:
Modified: branches/SAMBA_3_0/source/utils/net_rpc.c
===================================================================
--- branches/SAMBA_3_0/source/utils/net_rpc.c 2006-10-21 11:50:52 UTC (rev 19444)
+++ branches/SAMBA_3_0/source/utils/net_rpc.c 2006-10-21 16:27:38 UTC (rev 19445)
@@ -3137,7 +3137,26 @@
uint32 *numentries)
{
union srvsvc_NetShareInfo info;
+ NTSTATUS status;
+ switch(level) {
+ case 1:
+ if (!(ctr->ctr1 = TALLOC_ZERO_P(
+ mem_ctx, struct srvsvc_NetShareCtr1))) {
+ return NT_STATUS_NO_MEMORY;
+ }
+ break;
+ case 502:
+ if (!(ctr->ctr502 = TALLOC_ZERO_P(
+ mem_ctx, struct srvsvc_NetShareCtr502))) {
+ return NT_STATUS_NO_MEMORY;
+ }
+ break;
+ default:
+ return NT_STATUS_INVALID_LEVEL;
+ break;
+ }
+
/* no specific share requested, enumerate all */
if (argc == 0) {
uint32 hnd = 0;
@@ -3147,7 +3166,29 @@
}
/* request just one share */
- return rpccli_srvsvc_NetShareGetInfo(pipe_hnd, mem_ctx, NULL, argv[0], level, &info);
+ status = rpccli_srvsvc_NetShareGetInfo(pipe_hnd, mem_ctx, NULL,
+ argv[0], level, &info);
+ if (!NT_STATUS_IS_OK(status)) {
+ return status;
+ }
+
+ *numentries = 1;
+
+ switch(level) {
+ case 1:
+ ctr->ctr1->count = 1;
+ ctr->ctr1->array = info.info1;
+ break;
+ case 502:
+ ctr->ctr501->count = 1;
+ ctr->ctr502->array = info.info502;
+ break;
+ default:
+ return NT_STATUS_INTERNAL_ERROR;
+ break;
+ }
+
+ return NT_STATUS_OK;
}
/**
More information about the samba-cvs
mailing list