|
Message-ID: <alpine.LNX.2.20.13.1809021408250.23330@monopod.intra.ispras.ru> Date: Sun, 2 Sep 2018 14:14:52 +0300 (MSK) From: Alexander Monakov <amonakov@...ras.ru> To: musl@...ts.openwall.com Subject: Re: [PATCH] simplify __procfdname by folding the 0 case In 2016 I sent a more comprehensive cleanup, please review the thread starting at http://openwall.com/lists/musl/2016/02/21/2 Some notes on the patch below. On Sun, 2 Sep 2018, Fangrui Song wrote: > --- a/src/internal/procfdname.c > +++ b/src/internal/procfdname.c > @@ -2,12 +2,7 @@ void __procfdname(char *buf, unsigned fd) > { > unsigned i, j; > for (i=0; (buf[i] = "/proc/self/fd/"[i]); i++); > - if (!fd) { > - buf[i] = '0'; > - buf[i+1] = 0; > - return; > - } > - for (j=fd; j; j/=10, i++); > - buf[i] = 0; > - for (; fd; fd/=10) buf[--i] = '0' + fd%10; > + for (j=fd; i++, j /= 10; ); This is not correct as it only increments i once. A do-while loop would do the job better here. > + buf[i] = '\0'; > + while (buf[--i] = '0' + fd%10, fd /= 10); Likewise, a do-while loop would be more suitable here. > } Alexander
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.