]> git.dujemihanovic.xyz Git - linux.git/commitdiff
xdrgen: typedefs should use the built-in string and opaque functions
authorChuck Lever <chuck.lever@oracle.com>
Tue, 10 Sep 2024 19:51:46 +0000 (15:51 -0400)
committerChuck Lever <chuck.lever@oracle.com>
Fri, 20 Sep 2024 23:31:40 +0000 (19:31 -0400)
'typedef opaque yada<XYZ>' should use xdrgen's built-in opaque
encoder and decoder, to enable better compiler optimization.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
tools/net/sunrpc/xdrgen/templates/C/typedef/decoder/variable_length_opaque.j2
tools/net/sunrpc/xdrgen/templates/C/typedef/decoder/variable_length_string.j2

index c1b7ad84f99c28437645dab016090730d53d9c7f..f28f8b228ad54d694d9320cea4e311b300fd9045 100644 (file)
@@ -13,5 +13,5 @@ xdrgen_decode_{{ name }}(struct xdr_stream *xdr, {{ classifier }}{{ name }} *ptr
 {% if annotate %}
        /* (variable-length opaque) */
 {% endif %}
-       return xdr_stream_decode_opaque(xdr, ptr->data, ptr->len) >= 0;
+       return xdrgen_decode_opaque(xdr, ptr, {{ maxsize }});
 };
index 937286d7668890bbd6c41bf5152e1e1f14a94017..56c5a17d6a70d5269d32275e9591124afa6ff474 100644 (file)
@@ -13,5 +13,5 @@ xdrgen_decode_{{ name }}(struct xdr_stream *xdr, {{ classifier }}{{ name }} *ptr
 {% if annotate %}
        /* (variable-length string) */
 {% endif %}
-       return xdr_stream_decode_opaque(xdr, ptr->data, ptr->len) >= 0;
+       return xdrgen_decode_string(xdr, ptr, {{ maxsize }});
 };