r26051: ndr_string: don't use ndr_pull_save anymore
authorStefan Metzmacher <metze@samba.org>
Tue, 20 Nov 2007 10:08:05 +0000 (11:08 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 21 Dec 2007 04:45:48 +0000 (05:45 +0100)
metze
(This used to be commit adda63122e0afd5e10c834cbab8baee1ef1a3a24)

source4/librpc/ndr/ndr_string.c

index ffd73c748e7ab36a6e18d1b8252fd936da419dd7..ed007b4d3b922efdfe1d1dacd1d97ae6a32ac721 100644 (file)
@@ -650,21 +650,21 @@ _PUBLIC_ uint32_t ndr_string_length(const void *_var, uint32_t element_size)
 _PUBLIC_ enum ndr_err_code ndr_check_string_terminator(struct ndr_pull *ndr, uint32_t count, uint32_t element_size)
 {
        uint32_t i;
-       struct ndr_pull_save save_offset;
+       uint32_t save_offset;
 
-       ndr_pull_save(ndr, &save_offset);
+       save_offset = ndr->offset;
        ndr_pull_advance(ndr, (count - 1) * element_size);
        NDR_PULL_NEED_BYTES(ndr, element_size);
 
        for (i = 0; i < element_size; i++) {
                 if (ndr->data[ndr->offset+i] != 0) {
-                       ndr_pull_restore(ndr, &save_offset);
+                       ndr->offset = save_offset;
 
                        return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "String terminator not present or outside string boundaries");
                 }
        }
 
-       ndr_pull_restore(ndr, &save_offset);
+       ndr->offset = save_offset;
 
        return NDR_ERR_SUCCESS;
 }