This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 02 Aug 2016 12:04, Florian Weimer wrote: > On 07/21/2016 08:22 AM, Mike Frysinger wrote: > > On 13 Jul 2016 14:17, Florian Weimer wrote: > >> +/* Check if we have to run sln. */ > >> +bool > >> +run_sln (const char *argv0) > >> +{ > >> + const char *slash = strrchr (argv0, '/'); > >> + const char *progname; > >> + if (slash == NULL) > >> + progname = argv0; > >> + else > >> + progname = slash + 1; > >> + return strcmp (progname, "sln") == 0; > >> +} > > > > GNU programming conventions say to not rely on argv[0] to change > > behavior: > > > https://www.gnu.org/prep/standards/html_node/_002d_002dversion.html > > Can you provide an exact quote? I don't see it. i was looking at this part: The program’s name should be a constant string; don’t compute it from argv[0]. but Jim's quotes are more relevant in this setup > coreutils supports this, i don't think that's all that accurate. i'm assuming you're referring to the "coreutils" multicall binary (which i was involved with merging). it was merged as a concession to many alternative projects (e.g. busybox), with specific embedded scenarios in mind, is not the default build mode, and it includes a configure option to install small scripts rather than symlinks specifically to deal with the invocation issue (and avoiding the use of argv[0]). afaik, coreutils doesn't use argv[0] in other places. > and bash pretty much requires looking at argv[0]. not really ... while it does have historical support for checking a "-" prefix and changing its behavior based on that, it is not a requirement. it works just fine with flags like --login and is the preferred method. don't get me wrong -- personally, i often use argv[0] in multicall progs and require proper symlinks to dtrt. but GNU projects are strongly discouraged from doing so, and glibc is a GNU project. -mike
Attachment:
signature.asc
Description: Digital signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |