Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

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

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group