libndr/ndr: Remove unused argument from ndr_push_compression_{start,end}()
authorAndrew Bartlett <abartlet@samba.org>
Tue, 28 Mar 2023 05:31:45 +0000 (18:31 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 31 Mar 2023 01:48:30 +0000 (01:48 +0000)
Removing the unused arguments avoids thier value being calculated in the
PIDL generated code, which can be expensive.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
librpc/ndr/ndr_cab.c
librpc/ndr/ndr_compression.c
librpc/ndr/ndr_compression.h
librpc/ndr/ndr_drsuapi.c
pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm

index 476e21cd41708e69c64f8fa80ac33f76d9ce02c6..42e18e9624be2b98d62269bdc967a3ac2f519417 100644 (file)
@@ -190,10 +190,10 @@ static enum ndr_err_code ndr_push_folder_cfdata(struct ndr_push *ndr,
                        /* compress via subcontext */
                        NDR_CHECK(ndr_push_subcontext_start(ndr, &push_sub, 0, -1));
                        push_sub->cstate = ndr->cstate;
-                       NDR_CHECK(ndr_push_compression_start(push_sub, &push_compress, ndr_ctype, -1));
+                       NDR_CHECK(ndr_push_compression_start(push_sub, &push_compress, ndr_ctype));
                        ndr_set_flags(&push_compress->flags, LIBNDR_FLAG_REMAINING);
                        NDR_CHECK(ndr_push_DATA_BLOB(push_compress, NDR_SCALARS, r->ab));
-                       NDR_CHECK(ndr_push_compression_end(push_sub, push_compress, ndr_ctype, -1));
+                       NDR_CHECK(ndr_push_compression_end(push_sub, push_compress, ndr_ctype));
                        NDR_CHECK(ndr_push_subcontext_end(ndr, push_sub, 0, -1));
                        compressed_length = push_sub->offset;
 
index 8838c2fad7227e2d59cfd0f10899d9e2893f1d8f..e6602e6ccb2159977a630a53e28ed48a57d6c25a 100644 (file)
@@ -725,8 +725,7 @@ enum ndr_err_code ndr_pull_compression_end(struct ndr_pull *subndr,
 */
 enum ndr_err_code ndr_push_compression_start(struct ndr_push *subndr,
                                    struct ndr_push **_uncomndr,
-                                   enum ndr_compression_alg compression_alg,
-                                   ssize_t decompressed_len)
+                                   enum ndr_compression_alg compression_alg)
 {
        struct ndr_push *uncomndr;
 
@@ -754,8 +753,7 @@ enum ndr_err_code ndr_push_compression_start(struct ndr_push *subndr,
 */
 enum ndr_err_code ndr_push_compression_end(struct ndr_push *subndr,
                                  struct ndr_push *uncomndr,
-                                 enum ndr_compression_alg compression_alg,
-                                 ssize_t decompressed_len)
+                                 enum ndr_compression_alg compression_alg)
 {
        struct ndr_pull *ndrpull;
        bool last = false;
index 2a85a71be75cfb8169bee62883722af37abd19cf..15b6f27984ea8616e0e449751b7e5bd09fc194d3 100644 (file)
@@ -43,12 +43,10 @@ enum ndr_err_code ndr_pull_compression_end(struct ndr_pull *subndr,
                                  ssize_t decompressed_len);
 enum ndr_err_code ndr_push_compression_start(struct ndr_push *subndr,
                                    struct ndr_push **_uncomndr,
-                                   enum ndr_compression_alg compression_alg,
-                                   ssize_t decompressed_len);
+                                   enum ndr_compression_alg compression_alg);
 enum ndr_err_code ndr_push_compression_end(struct ndr_push *subndr,
                                  struct ndr_push *uncomndr,
-                                 enum ndr_compression_alg compression_alg,
-                                 ssize_t decompressed_len);
+                                 enum ndr_compression_alg compression_alg);
 
 enum ndr_err_code ndr_pull_compression_state_init(struct ndr_pull *ndr,
                                                  enum ndr_compression_alg compression_alg,
index d4cc5a92a5cbee1d7e900fa71eef34aef27c53cb..0732ee3c6f4a0f7551cea977de549b4f4222b6bc 100644 (file)
@@ -216,10 +216,10 @@ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_push *ndr,
                                NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ts, 4, -1));
                                {
                                        struct ndr_push *_ndr_ts_compressed;
-                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, -1));
+                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP));
                                        NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
                                        decompressed_length = _ndr_ts_compressed->offset;
-                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, -1));
+                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP));
                                }
                                compressed_length = _ndr_ts->offset;
                                talloc_free(_ndr_ts);
@@ -237,9 +237,9 @@ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_push *ndr,
                                NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ts, 4, -1));
                                {
                                        struct ndr_push *_ndr_ts_compressed;
-                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, -1));
+                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP));
                                        NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
-                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, -1));
+                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP));
                                }
                                NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ts, 4, -1));
                        }
@@ -259,10 +259,10 @@ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_push *ndr,
                                NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ts, 4, -1));
                                {
                                        struct ndr_push *_ndr_ts_compressed;
-                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, -1));
+                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP));
                                        NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
                                        decompressed_length = _ndr_ts_compressed->offset;
-                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, -1));
+                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP));
                                }
                                compressed_length = _ndr_ts->offset;
                                talloc_free(_ndr_ts);
@@ -280,9 +280,9 @@ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_push *ndr,
                                NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ts, 4, -1));
                                {
                                        struct ndr_push *_ndr_ts_compressed;
-                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP, -1));
+                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_MSZIP));
                                        NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
-                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP, -1));
+                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_MSZIP));
                                }
                                NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ts, 4, -1));
                        }
@@ -302,10 +302,10 @@ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesWIN2K3_LZ77_DIRECT2Ctr1(struct
                                NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ts, 4, -1));
                                {
                                        struct ndr_push *_ndr_ts_compressed;
-                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_WIN2K3_LZ77_DIRECT2, -1));
+                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_WIN2K3_LZ77_DIRECT2));
                                        NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
                                        decompressed_length = _ndr_ts_compressed->offset;
-                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_WIN2K3_LZ77_DIRECT2, -1));
+                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_WIN2K3_LZ77_DIRECT2));
                                }
                                compressed_length = _ndr_ts->offset;
                                talloc_free(_ndr_ts);
@@ -323,9 +323,9 @@ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesWIN2K3_LZ77_DIRECT2Ctr1(struct
                                NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ts, 4, -1));
                                {
                                        struct ndr_push *_ndr_ts_compressed;
-                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_WIN2K3_LZ77_DIRECT2, -1));
+                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_WIN2K3_LZ77_DIRECT2));
                                        NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
-                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_WIN2K3_LZ77_DIRECT2, -1));
+                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_WIN2K3_LZ77_DIRECT2));
                                }
                                NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ts, 4, -1));
                        }
@@ -345,10 +345,10 @@ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesWIN2K3_LZ77_DIRECT2Ctr6(struct
                                NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ts, 4, -1));
                                {
                                        struct ndr_push *_ndr_ts_compressed;
-                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_WIN2K3_LZ77_DIRECT2, -1));
+                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_WIN2K3_LZ77_DIRECT2));
                                        NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
                                        decompressed_length = _ndr_ts_compressed->offset;
-                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_WIN2K3_LZ77_DIRECT2, -1));
+                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_WIN2K3_LZ77_DIRECT2));
                                }
                                compressed_length = _ndr_ts->offset;
                                talloc_free(_ndr_ts);
@@ -366,9 +366,9 @@ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesWIN2K3_LZ77_DIRECT2Ctr6(struct
                                NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ts, 4, -1));
                                {
                                        struct ndr_push *_ndr_ts_compressed;
-                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_WIN2K3_LZ77_DIRECT2, -1));
+                                       NDR_CHECK(ndr_push_compression_start(_ndr_ts, &_ndr_ts_compressed, NDR_COMPRESSION_WIN2K3_LZ77_DIRECT2));
                                        NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed, NDR_SCALARS|NDR_BUFFERS, r->ts));
-                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_WIN2K3_LZ77_DIRECT2, -1));
+                                       NDR_CHECK(ndr_push_compression_end(_ndr_ts, _ndr_ts_compressed, NDR_COMPRESSION_WIN2K3_LZ77_DIRECT2));
                                }
                                NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ts, 4, -1));
                        }
index 55c3965b7b68fc9c6bbcd68c7431b999d06fb7fe..7897f257379ab93f902bd8e78268d4f0e59d593c 100644 (file)
@@ -510,12 +510,11 @@ sub ParseCompressionPushStart($$$$$)
        my ($self,$e,$l,$ndr,$env) = @_;
        my $comndr = "$ndr\_compressed";
        my $alg = compression_alg($e, $l, $env);
-       my $dlen = compression_dlen($e, $l, $env);
 
        $self->pidl("{");
        $self->indent;
        $self->pidl("struct ndr_push *$comndr;");
-       $self->pidl("NDR_CHECK(ndr_push_compression_start($ndr, &$comndr, $alg, $dlen));");
+       $self->pidl("NDR_CHECK(ndr_push_compression_start($ndr, &$comndr, $alg));");
 
        return $comndr;
 }
@@ -525,9 +524,8 @@ sub ParseCompressionPushEnd($$$$$)
        my ($self,$e,$l,$ndr,$env) = @_;
        my $comndr = "$ndr\_compressed";
        my $alg = compression_alg($e, $l, $env);
-       my $dlen = compression_dlen($e, $l, $env);
 
-       $self->pidl("NDR_CHECK(ndr_push_compression_end($ndr, $comndr, $alg, $dlen));");
+       $self->pidl("NDR_CHECK(ndr_push_compression_end($ndr, $comndr, $alg));");
        $self->deindent;
        $self->pidl("}");
 }