|
Message-ID: <20120812024716.47125694@sibserver.ru> Date: Sun, 12 Aug 2012 02:47:16 +0800 From: orc <orc@...server.ru> To: musl@...ts.openwall.com Subject: Re: Priorities for next release? On Sat, 11 Aug 2012 20:41:57 +0200 Daniel Cegiełka <daniel.cegielka@...il.com> wrote: > >> Couldn't this code just be fixed to add an argument to usage() and > >> call usage(argv[0]) or even usage(basename(argv[0])) if preferred? > >> > >> Rich > > > > Or even progname = basename(argv[0]) with global char *progname ? > > Usually it looks like this: > > extern char *__progname; > > 'extern' means __progname must be available to external objects, so in > code with main(): > > #include <stdio.h> > > char *__progname; > > int main(int argc, char *argv[]) > { > __progname = argv[0]; > printf("%s\n", __progname); > return 0; > } > > what you think? It works for me... so why basename(argv[0])? > > Daniel basename() is for stripping path objects, for example, when you run prog via full path, /bin/true, basename("/bin/true") = "true" See man 3 basename
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.