summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2000-07-10 19:57:30 +0000
committerGerald Carter <jerry@samba.org>2000-07-10 19:57:30 +0000
commit1c8c1c03a093ee76d5bfc56dac35a1d99bdecc18 (patch)
tree3d53e388b47108c5f1dba34ff89d9339313e2fa6
parent997e113a566b3109daef3b77d9c366e7e41b38d4 (diff)
downloadsamba-1c8c1c03a093ee76d5bfc56dac35a1d99bdecc18.tar.gz
samba-1c8c1c03a093ee76d5bfc56dac35a1d99bdecc18.tar.bz2
samba-1c8c1c03a093ee76d5bfc56dac35a1d99bdecc18.zip
spoolenum commend (when compiled with the new prs_unistr())
now works. :-) jerry (This used to be commit 588aadb29fbb7cc0e81ac19f95e97101a64dbd8e)
-rw-r--r--source3/rpc_client/msrpc_spoolss.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/source3/rpc_client/msrpc_spoolss.c b/source3/rpc_client/msrpc_spoolss.c
index 9ff88ed23c..ea3d482837 100644
--- a/source3/rpc_client/msrpc_spoolss.c
+++ b/source3/rpc_client/msrpc_spoolss.c
@@ -35,18 +35,20 @@ extern FILE* out_hnd;
extern struct user_creds *usr_creds;
+/********************************************************************
+initialize a spoolss NEW_BUFFER.
+
+ ** WARNING ** Calling this function on an existing buffer
+ (which already hgolds data in the buffer->prs.data_p)
+ will result in memory leakage
+********************************************************************/
static void init_buffer(NEW_BUFFER *buffer, uint32 size)
{
- int new_size = 0;
-
buffer->ptr = (size!=0)? 1:0;
buffer->size=size;
buffer->string_at_end=size;
- prs_init(&(buffer->prs), MAX_PDU_FRAG_LEN, 4, MARSHALL);
- new_size = MAX(size,buffer->prs.buffer_size) - MIN(size,buffer->prs.buffer_size);
- prs_grow(&(buffer->prs), new_size);
- buffer->prs.io=MARSHALL;
- buffer->prs.data_offset=0;
+ prs_init(&(buffer->prs), size, 4, MARSHALL);
+ buffer->struct_start = prs_offset(&buffer->prs);
}
static void decode_printer_info_0(NEW_BUFFER *buffer, uint32 returned, PRINTER_INFO_0 **info)