Re: get_progname and .exe suffix
- From: Andrew Dunstan <andrew(at)dunslane(dot)net>
- To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
- Cc: pgsql-hackers-win32 <pgsql-hackers-win32(at)postgresql(dot)org>
- Subject: Re: get_progname and .exe suffix
- Date: Sat, 16 Oct 2004 15:37:36 -0400
- Message-id: <41717880(dot)8050202(at)dunslane(dot)net>
Tom Lane wrote:
Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
Tom Lane wrote:
What would break if we caused get_progname itself to strip the suffix?
Yes. get_progname() actually just returns a pointer to one past the last
directory separator it finds in its argument string. Having it strip the
.exe directly would in effect involve mangling argv[0]. That's what
makes me slightly nervous about it. We could have it strdup() the result
and then mangle that - note that it is called by postmaster before we
set up any memory context stuff.
Seems reasonable. What I was more worried about though was whether
there are any callers that actually need a non-stripped result.
Ok, I will have a look. grep tells me it's called in these places:
./src/backend/postmaster/postmaster.c
./src/bin/initdb/initdb.c
./src/bin/pg_config/pg_config.c
./src/bin/pg_controldata/pg_controldata.c
./src/bin/pg_ctl/pg_ctl.c
./src/bin/pg_dump/pg_dump.c
./src/bin/pg_dump/pg_dumpall.c
./src/bin/pg_dump/pg_restore.c
./src/bin/pg_resetxlog/pg_resetxlog.c
./src/bin/psql/startup.c
./src/bin/scripts/clusterdb.c
./src/bin/scripts/common.c
./src/bin/scripts/createdb.c
./src/bin/scripts/createlang.c
./src/bin/scripts/createuser.c
./src/bin/scripts/dropdb.c
./src/bin/scripts/droplang.c
./src/bin/scripts/dropuser.c
./src/bin/scripts/vacuumdb.c
./src/interfaces/ecpg/preproc/ecpg.c
cheers
andrew
Home |
Main Index |
Thread Index