qemu-s390x
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [qemu-s390x] [Qemu-devel] [PATCH v7 04/12] s390-ccw: update libc


From: Eric Blake
Subject: Re: [qemu-s390x] [Qemu-devel] [PATCH v7 04/12] s390-ccw: update libc
Date: Mon, 19 Feb 2018 11:54:49 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0

On 02/19/2018 11:17 AM, Collin L. Walling wrote:

How is this for a compromise?

     - start num_idx at 1, provide comment as for why
    - change while loop comment to explain we are "counting the _indices_ _of_ _num_"     - str[num_idx] is assigned \0, and we also decrement num_idx in one line
     - in conversion loop, post decrement num_idx as it is used

char *uitoa(int num, char *str, int len)
{
   int num_idx = 1; /* account for NULL */

The single-byte character is named NUL (while NULL refers to the 8- or 4-byte pointer value).

   int tmp = num;

   assert(str != NULL, "uitoa: no space allocated to store string");

   /* Count indices of num */
   while ((tmp /= 10) != 0)
     num_idx++;

   /* Check if we have enough space for num and null */

and again

   assert(len > num_idx, "uitoa: array too small for conversion");

   str[num_idx--] = '\0';

   /* Convert int to string */
   while (num_idx >= 0) {
     str[num_idx--] = num % 10 + '0';
     num /= 10;
   }

   return str;

Otherwise, it seems readable to me.

}



--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org



reply via email to

[Prev in Thread] Current Thread [Next in Thread]