mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
Running xdrgen on xdrgen/tests/test.x fails when generating encoder or decoder functions for union members of type _XdrString. It was because _XdrString does not have a spec attribute like _XdrBasic, leading to AttributeError. This patch updates emit_union_case_spec_definition and emit_union_case_spec_decoder/encoder to handle _XdrString by assigning type_name = "char *" and avoiding referencing to spec. Testing: Fixed xdrgen tool was run on originally failing test file (tools/net/sunrpc/xdrgen/tests/test.x) and now completes without AttributeError. Modified xdrgen tool was also run against nfs4_1.x (Documentation/sunrpc/xdr/nfs4_1.x). The output header file matches with nfs4_1.h (include/linux/sunrpc/xdrgen/nfs4_1.h). This validates the patch for all XDR input files currently within the kernel. Changes since v2: - Moved the shebang to the first line - Removed SPDX header to match style of current xdrgen files Changes since v1: - Corrected email address in Signed-off-by. - Wrapped patch description lines to 72 characters. Signed-off-by: Khushal Chitturi <kc9282016@gmail.com> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
7 lines
205 B
Django/Jinja
7 lines
205 B
Django/Jinja
{# SPDX-License-Identifier: GPL-2.0 #}
|
|
{% if annotate %}
|
|
/* member {{ name }} (variable-length string) */
|
|
{% endif %}
|
|
if (!xdrgen_encode_string(xdr, ptr->u.{{ name }}, {{ maxsize }}))
|
|
return false;
|