Le 02/07/2020 à 12:27, Filip Bozuta a écrit :
> Function "print_fdset()" in "strace.c" is used to print the file descriptor
> values in "print__newselect()" which prints arguments of syscall _newselect().
> Until changes from this patch, this function was printing "," even after the
> last value of the fd_set argument. This was changed in this patch by removing
> this unnecessary "," after the last fd value and thus improving the estetics
> of
> the _newselect() "-strace" print.
>
> Implementation notes:
>
> The printing fix was made possible by using an existing function
> "get_comma()"
> which returns a "," or an empty string "" based on its argument (0 for ","
> and
> other for "").
> ---
> linux-user/strace.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/linux-user/strace.c b/linux-user/strace.c
> index 6044c66954..23ca5d88c8 100644
> --- a/linux-user/strace.c
> +++ b/linux-user/strace.c
> @@ -541,6 +541,7 @@ static void
> print_fdset(int n, abi_ulong target_fds_addr)
> {
> int i;
> + int first = 1;
>
> qemu_log("[");
> if( target_fds_addr ) {
> @@ -555,9 +556,12 @@ print_fdset(int n, abi_ulong target_fds_addr)
> return;
>
> for (i=n; i>=0; i--) {
> - if ((tswapal(target_fds[i / TARGET_ABI_BITS]) >> (i &
> (TARGET_ABI_BITS - 1))) & 1)
> - qemu_log("%d,", i);
> + if ((tswapal(target_fds[i / TARGET_ABI_BITS]) >>
> + (i & (TARGET_ABI_BITS - 1))) & 1) {
> + qemu_log("%s%d", get_comma(first), i);
> + first = 0;
> }
> + }
> unlock_user(target_fds, target_fds_addr, 0);
> }
> qemu_log("]");
>
Please repost with your signed-off-by.
Reviewed-by: Laurent Vivier <[email protected]>
Thanks,
Laurent