diff options
author | Jeremy Allison <jra@samba.org> | 2002-09-05 12:55:56 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2002-09-05 12:55:56 +0000 |
commit | 4cf52385994b62de71240b894b37f82b6daa6ee2 (patch) | |
tree | adf33971f3f9b28d0f8de8e7abbe116a02404f31 /source3/rpc_server | |
parent | 4af9c9ce3b312131ba767ba27b5cd5b12d6a6007 (diff) | |
download | samba-4cf52385994b62de71240b894b37f82b6daa6ee2.tar.gz samba-4cf52385994b62de71240b894b37f82b6daa6ee2.tar.bz2 samba-4cf52385994b62de71240b894b37f82b6daa6ee2.zip |
Revert the "reverse" change to rpc_server/srv_spoolss_nt.c, simply
add then entries to the end of the list in printing/notify.c using
DLIST_ADD_END.
Jeremy.
(This used to be commit 047d6a05fb60172a2607bb7d7d03dda5403c61fa)
Diffstat (limited to 'source3/rpc_server')
-rw-r--r-- | source3/rpc_server/srv_spoolss_nt.c | 33 |
1 files changed, 3 insertions, 30 deletions
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index aa63284322..3a2bde2d05 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -889,9 +889,9 @@ static void receive_notify2_message(void *buf, size_t len) static void receive_notify2_message_list(int msg_type, pid_t src, void *msg, size_t len) { - size_t msg_count, *msg_len_array, i; + size_t msg_count, i; char *buf = (char *)msg; - char *msg_ptr, **msg_ptr_array; + char *msg_ptr; if (len < 4) goto bad_msg; @@ -904,24 +904,6 @@ static void receive_notify2_message_list(int msg_type, pid_t src, void *msg, siz if (msg_count == 0) goto bad_msg; - /* Process notifies in *reverse* order in which they are sent - in the message. This is because a DLIST_ADD is used by the - message sender which results in the first (post!) message - being at the end of the list. Notify messages must be - delivered in the order the events occur in otherwise the - port monitor gets confused. */ - - if (!(msg_len_array = (size_t *)malloc(sizeof(size_t) * msg_count))) { - DEBUG(0, ("receive_notify2_message_list: out of memory\n")); - return; - } - - if (!(msg_ptr_array = (char **)malloc(sizeof(char *) * msg_count))) { - SAFE_FREE(msg_len_array); - DEBUG(0, ("receive_notify2_message_list: out of memory\n")); - return; - } - for (i = 0; i < msg_count; i++) { size_t msg_len; @@ -933,19 +915,10 @@ static void receive_notify2_message_list(int msg_type, pid_t src, void *msg, siz if (msg_ptr + msg_len - buf > len) goto bad_msg; - - msg_len_array[i] = msg_len; - msg_ptr_array[i] = msg_ptr; - + receive_notify2_message(msg_ptr, msg_len); msg_ptr += msg_len; } - for(i = msg_count; i > 0; i--) - receive_notify2_message(msg_ptr_array[i - 1], msg_len_array[i - 1]); - - SAFE_FREE(msg_len_array); - SAFE_FREE(msg_ptr_array); - DEBUG(10,("receive_notify2_message_list: processed %u messages\n", (unsigned int)msg_count )); return; |