mirror of
https://github.com/samba-team/samba.git
synced 2025-01-26 10:04:02 +03:00
r5800: fix recursiv printing in ndr_print_DsGetNCChangesInfo1()
metze (This used to be commit 1084ad4bfce6bc20537f5bfccb5a25b60f503b32)
This commit is contained in:
parent
cead12981f
commit
55546176c6
@ -29,6 +29,8 @@ struct spoolss_EnumJobs;
|
||||
struct spoolss_EnumPrinterDrivers;
|
||||
struct spoolss_EnumPorts;
|
||||
|
||||
struct drsuapi_DsGetNCChangesInfo1;
|
||||
|
||||
struct MULTI_QI;
|
||||
struct COSERVERINFO;
|
||||
|
||||
|
@ -93,7 +93,10 @@ REQUIRED_SUBSYSTEMS = LIBNDR
|
||||
INIT_FUNCTION = dcerpc_drsuapi_init
|
||||
INIT_OBJ_FILES = librpc/gen_ndr/ndr_drsuapi.o
|
||||
NOPROTO = YES
|
||||
REQUIRED_SUBSYSTEMS = LIBNDR
|
||||
REQUIRED_SUBSYSTEMS = LIBNDR NDR_DRSUAPI_PRINT
|
||||
|
||||
[SUBSYSTEM::NDR_DRSUAPI_PRINT]
|
||||
INIT_OBJ_FILES = librpc/ndr/ndr_drsuapi.o
|
||||
|
||||
[SUBSYSTEM::NDR_DRSBLOBS]
|
||||
INIT_FUNCTION = dcerpc_drsblobs_init
|
||||
|
@ -256,7 +256,7 @@ interface drsuapi
|
||||
hyper usn;
|
||||
} drsuapi_DsReplicaMetaData;
|
||||
|
||||
typedef struct {
|
||||
typedef [public] struct {
|
||||
[range(0,1048576)] uint32 count;
|
||||
[size_is(count)] drsuapi_DsReplicaMetaData meta_data[];
|
||||
} drsuapi_DsReplicaMetaDataCtr;
|
||||
@ -288,15 +288,14 @@ interface drsuapi
|
||||
[size_is(num_attributes)] drsuapi_DsReplicaAttribute *attributes[];
|
||||
} drsuapi_DsReplicaAttributeCtr;
|
||||
|
||||
typedef struct {
|
||||
typedef [public] struct {
|
||||
drsuapi_DsReplicaObjectIdentifier *identifier;
|
||||
uint32 unknown1;
|
||||
drsuapi_DsReplicaAttributeCtr attribute_ctr;
|
||||
} drsuapi_DsReplicaObject;
|
||||
|
||||
typedef struct {
|
||||
/* TODO: fix ndr_print for next_info! */
|
||||
[print_option(linked_list_next)] drsuapi_DsGetNCChangesInfo1 *next;
|
||||
typedef [noprint] struct {
|
||||
drsuapi_DsGetNCChangesInfo1 *next;
|
||||
drsuapi_DsReplicaObject object;
|
||||
uint32 unknown1;
|
||||
GUID *guid;
|
||||
|
51
source4/librpc/ndr/ndr_drsuapi.c
Normal file
51
source4/librpc/ndr/ndr_drsuapi.c
Normal file
@ -0,0 +1,51 @@
|
||||
/*
|
||||
Unix SMB/CIFS implementation.
|
||||
|
||||
routines for printing some linked list structs in DRSUAPI
|
||||
|
||||
Copyright (C) Stefan (metze) Metzmacher 2005
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
|
||||
#include "includes.h"
|
||||
#include "librpc/gen_ndr/ndr_drsuapi.h"
|
||||
|
||||
|
||||
void ndr_print_drsuapi_DsGetNCChangesInfo1(struct ndr_print *ndr, const char *name, struct drsuapi_DsGetNCChangesInfo1 *r)
|
||||
{
|
||||
ndr_print_struct(ndr, name, "drsuapi_DsGetNCChangesInfo1");
|
||||
ndr->depth++;
|
||||
ndr_print_ptr(ndr, "next", r->next);
|
||||
ndr_print_drsuapi_DsReplicaObject(ndr, "object", &r->object);
|
||||
ndr_print_uint32(ndr, "unknown1", r->unknown1);
|
||||
ndr_print_ptr(ndr, "guid", r->guid);
|
||||
ndr->depth++;
|
||||
if (r->guid) {
|
||||
ndr_print_GUID(ndr, "guid", r->guid);
|
||||
}
|
||||
ndr->depth--;
|
||||
ndr_print_ptr(ndr, "meta_data_ctr", r->meta_data_ctr);
|
||||
ndr->depth++;
|
||||
if (r->meta_data_ctr) {
|
||||
ndr_print_drsuapi_DsReplicaMetaDataCtr(ndr, "meta_data_ctr", r->meta_data_ctr);
|
||||
}
|
||||
ndr->depth--;
|
||||
ndr->depth--;
|
||||
if (r->next) {
|
||||
ndr_print_drsuapi_DsGetNCChangesInfo1(ndr, "next", r->next);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user