From 5aa6d4a26a5b84389ecb22bc8c6cd69dee8e4ca4 Mon Sep 17 00:00:00 2001 From: Chas Williams <3chas3@gmail.com> Date: Mon, 23 Nov 2015 12:29:31 -0500 Subject: [PATCH] Refactor printing arguments to the xdr routines This makes some future changes a bit easier to read and implement. Change-Id: I48eafa67659739865f43a0bcfe1f8a897a7a8940 Reviewed-on: https://gerrit.openafs.org/12114 Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk Tested-by: BuildBot --- src/rxgen/rpc_cout.c | 55 +++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 39 insertions(+), 16 deletions(-) diff --git a/src/rxgen/rpc_cout.c b/src/rxgen/rpc_cout.c index 6e8c383..30ec519 100644 --- a/src/rxgen/rpc_cout.c +++ b/src/rxgen/rpc_cout.c @@ -199,6 +199,42 @@ space(void) } static void +print_ifarg_val(char *objname, char *name) +{ + if (*objname == '&') { + if (brief_flag) { + f_print(fout, "%s.val", objname); + } else { + f_print(fout, "%s.%s_val", objname, name); + } + } else { + if (brief_flag) { + f_print(fout, "&%s->val", objname); + } else { + f_print(fout, "&%s->%s_val", objname, name); + } + } +} + +static void +print_ifarg_len(char *objname, char *name) +{ + if (*objname == '&') { + if (brief_flag) { + f_print(fout, "(u_int *)%s.len", objname); + } else { + f_print(fout, "(u_int *)%s.%s_len", objname, name); + } + } else { + if (brief_flag) { + f_print(fout, "(u_int *)&%s->len", objname); + } else { + f_print(fout, "(u_int *)&%s->%s_len", objname, name); + } + } +} + +static void print_ifstat(int indent, char *prefix, char *type, relation rel, char *amax, char *objname, char *name) { @@ -251,22 +287,9 @@ print_ifstat(int indent, char *prefix, char *type, relation rel, char *amax, print_ifopen(indent, "array"); print_ifarg("(caddr_t *)"); } - if (*objname == '&') { - if (brief_flag) { - f_print(fout, "%s.val, (u_int *)%s.len", objname, objname); - } else { - f_print(fout, "%s.%s_val, (u_int *)%s.%s_len", - objname, name, objname, name); - } - } else { - if (brief_flag) { - f_print(fout, "&%s->val, (u_int *)&%s->len", - objname, objname); - } else { - f_print(fout, "&%s->%s_val, (u_int *)&%s->%s_len", - objname, name, objname, name); - } - } + print_ifarg_val(objname, name); + f_print(fout, ", "); + print_ifarg_len(objname, name); } print_ifarg(amax); if (!alt) { -- 1.9.4