spaces in pathnames
Adam Jackson
ajax at nwnk.net
Mon Jun 30 10:11:49 PDT 2008
On Mon, 2008-06-30 at 15:11 +0100, Glynn Clements wrote:
> Jeremy Huddleston wrote:
>
> > So I just pushed a patch to xinit that addresses some issues with
> > spaces in pathnames. One issue remains, and I'm not sure if there's a
> > clean way to address it. At first, I thought I could do something
> > like this:
> >
> > - serverargs=${serverargs}" -auth "${xserverauthfile}
> > + serverargs=${serverargs}" -auth '"${xserverauthfile}"'"
> >
> > but that doesn't work. example:
> >
> > $ mya="Some thing with spaces"
> > $ myargs="1 2 '$mya'"
> > $ ./printargs $myargs
> > argv[0] = ./printargs
> > argv[1] = 1
> > argv[2] = 2
> > argv[3] = 'Some
> > argv[4] = thing
> > argv[5] = with
> > argv[6] = spaces'
> >
> > So... any thoughts on how to overcome this cleanly? And no, telling
> > people to not use spaces is unfortunately not an option... and neither
> > is hitting them over the head with a do-better stick.
>
> IMHO, it's a lost cause.
>
> The only clean solution is to use a language which has a list datatype
> (or equivalent), as well as an "exec" primitive which accepts a list
> argument.
>
> It's practically impossible to get this 100% right if you're limited
> to the Bourne shell.
Then maybe it's time to stop caring about portability to useless shells.
More broadly, it's probably time to deprecate startx and xinit, strongly
recommend the use of a display manager like gdm, and write a minimal
replacement in some sensible subset of bash/ksh.
- ajax
More information about the xorg
mailing list