redhat's consolehelper(8) / userhelper(8) are examples.

I see no big deal to imply windows style arguments if invoked as
xfreerdp.exe..


On Tue, Dec 4, 2012 at 3:54 PM, Kevin Dalley <kdal...@vmware.com> wrote:

> Alex,
>
> The two of use agree on most issues here.
>
> Heuristics, no.
>
> Pre-existing parsers, yes.  I prefer argp, because it includes
> documentation.
>
> We do disagree n argv[0]
>
> Using argv[0] to determine behavior definitely used to be standard,
> back in the pre-Linux days.  mv and ln, I believe were the same binary.
> But not any more.
>
> And today, in memory-limited environments, busybox uses this technique.
> It makes sense there.
>
> Please name modern examples which do not result from limited memory.
>
> Using argv[0] leaves you in a situation where copying an executable to
> a new name results in different behavior.  In your example, if I copied
> xfreerdp to xfreerdp-new, then the behavior would be different, even
> though the name is almost the same.
>
> And it using argv[0] violates the GNU standard, something
> you should do only when there is a good reason for doing so.
>
> ----- Original Message -----
> From: Alex Bligh <a...@alex.org.uk>
> To: Kevin Dalley <kdal...@vmware.com>
> Cc: Alex Bligh <a...@alex.org.uk>, Stephen Dowdy <sdo...@ucar.edu>,
> freerdp-devel@lists.sourceforge.net
> Sent: Tue, 04 Dec 2012 11:46:34 -0800 (PST)
> Subject: Re: [Freerdp-devel] Why is there a change in the command line
>  interface?
>
>
> On 4 Dec 2012, at 18:07, Kevin Dalley wrote:
>
> > Please don't use argv[0] to determine the behavior.  This is confusing.
> >
> > It should be possible to make a link to a program and have it behave in
> > the same way as the original program.
> >
> > Also, it violates the GNU standards.
> >
> >
> http://www.gnu.org/prep/standards/html_node/User-Interfaces.html#User-Interfaces
>
> Opinion from someone who has had exposure to reading the code but not
> writing
> it, and tripped over the current CLI.
>
> In my opinion using argv[0] to influence program operation is perfectly
> reasonable and a lot of linux utilities do it (for better or worse).
> Moreover,
> the appropriate standard should be POSIX not GNU here. I don't believe
> there
> is a POSIX requirement not to do this (but POSIX standards are full of
> surprises).
> I understand some people consider it hacky, but it does permit the
> following
> which is what I'd recommend.
>
> If invoked as xfreerdp, use a command line interface as close as possible
> to the
> current one. I know this needs work, having tried to find my way through
> the
> homebrew parser to backport stuff. I would suggest moving to the
> getopt_long
> which has support everywhere, and at least is a known quantity. I do not
> think
> there is anything freerdp does which would not possible using getopt_long,
> and
> there might be bugs which could be fixed by a refactor (from memory the
> parsing
> of certain security parameters depends on other parameters, which means as
> they
> are parsed in order, the effect is dependent upon the ordering of
> parameters -
> this could be fixed by recording parameters prior to interpreting them).
>
> If invoked as [something else], use a CLI more friendly for windows users,
> be
> that borrowed from mstsc or otherwise.
>
> Heuristics that rely on the presence or absence of slashes or minus signs
> are bound to fail as filenames on windows can begin with minus signs and
> file names (well, paths) on linux can begin with slashes. So don't try and
> guess, use something that can never be ambiguous (i.e. argv[0]). I believe
> on some non-POSIX platforms it may not be possible to determine the value
> of argv[0], but I doubt xfreerdp will run there anyway.
>
> --
> Alex Bligh
>
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add services
> Discover what IT Professionals Know. Rescue delivers
> http://p.sf.net/sfu/logmein_12329d2d
> _______________________________________________
> Freerdp-devel mailing list
> Freerdp-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freerdp-devel
>
------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Freerdp-devel mailing list
Freerdp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freerdp-devel

Reply via email to