Date: Mon, 10 Aug 2015 16:20:46 -0700 From: Xin Li <delphij@delphij.net> To: Ed Schouten <ed@nuxi.nl>, Xin LI <delphij@freebsd.org> Cc: src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r286601 - head/usr.bin/patch Message-ID: <55C931CE.3030806@delphij.net> In-Reply-To: <CABh_MKk5uOupQx9farP3_5D1J0f-5fAt0EXqnhautx0TNm9AaA@mail.gmail.com> References: <201508102131.t7ALVo5J050735@repo.freebsd.org> <CABh_MKk5uOupQx9farP3_5D1J0f-5fAt0EXqnhautx0TNm9AaA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --2m1pghCR1O71M73RtjH9Obr4q41dvStdR Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 08/10/15 14:40, Ed Schouten wrote: > Hi Xin, >=20 > 2015-08-10 23:31 GMT+02:00 Xin LI <delphij@freebsd.org>: >> + argp[0] =3D strdup(RCSDIFF); >> + argp[1] =3D strdup(filename); >> ... >> + free(argp[1]); >> + free(argp[0]); >=20 >> + argp[0] =3D strdup(CHECKOUT); >> + argp[1] =3D strdup("-l"); >> + argp[2] =3D strdup(filename); >> ... >> + free(argp[2]); >> + free(argp[1]); >> + free(argp[0]); >=20 > There's no need to call strdup() here, right? As far as I know, > execve() and posix_spawn() don't modify the arguments/environment. > These functions should use "const char *const *" as its argument type, > but that cannot be used, as it would cause compiler errors if "char > **" is passed in. >=20 > See the table close to the bottom of this article: >=20 > http://pubs.opengroup.org/onlinepubs/9699919799/functions/execve.html Do you have a better solution for this? No, this is not ideal but I didn't find a better alternative (or maybe I have missed something obviou= s?) I think with the current POSIX definition of the interface, we have only two options: either strdup() or cast away const (I'd rather hide this kind of uglyness in the library), no? Cheers, --=20 Xin LI <delphij@delphij.net> https://www.delphij.net/ FreeBSD - The Power to Serve! Live free or die --2m1pghCR1O71M73RtjH9Obr4q41dvStdR Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.1.6 (FreeBSD) iQIcBAEBCgAGBQJVyTHPAAoJEJW2GBstM+nscR0P/3PcbThFReBG/GUM8Nof6VlW 00UoCwKvJAN400k81W86RxPphOEe7TJicsgHBmRpFtzrgf4NzST+vxK5evANQZdT WVWKUPoe5z+nDkAutB0CTmOjMdcegOwus/6lvm1IwZCJT7Qg0JOxn7MSR8CCjt+V WEgL0qlFA/PqAZMUKiPRG9AEYj1NnT85LZ0KbBJCKh/ziZYTlL5A72vhQ1XaTjgN KYOrM9gYqM/8sJM1oWvC7j8Dw3d9yL3HA4M1GxgvcnOAG408OyiFAweLGmhGfYSF AbDuDB0GeEV7Q0JIppzIaMV/oRzWpJqDaBcZhjAX4ITAITl94pYPlzcwOubBvYsi 3dS8VdgBkVDtwwA+cJNX9Sn7S2gxqzRVb9W0AutU3LIB6bkKquPXspJJ5aZ6h6EI GhJ+lbdM1odcihoL6PLssszw/k5hl1KXV0WRn742J0oj8bJErwgREW0PqysW7LWj Y5O3fNIEdsXcHOZS6yjVb4ieDn1LxzxpAWCtODT2rooXQ4jTBlHC3tsZjoVtr7vN mI0SeKbgz7I6qVR2hx62WID25uYaTiszUSc87u/A3cMexBmFzt3TcfXuwjtNCLV6 Wd7eNDYVqZ8T/Qop59Xi1gBzxwQvjul+0LeRLzZDIPDDbec1jpJKJNt6EUfQAhWe qnwwojBWSjZ9GFtrZBt2 =1p1Q -----END PGP SIGNATURE----- --2m1pghCR1O71M73RtjH9Obr4q41dvStdR--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55C931CE.3030806>