[RFC] Cleaning up die() error messages
From: Elfyn McBratney <hidden>
Date: 2016-06-15 22:42:08
Hello git list,
I've started working on cleaning up the various die() error messages
found throughout git, and had a few thoughts along the way.
Currently, I've been adding missing program name prefixes, and quoting path
names (e.g., "%s" -> "'%s'"), but before I go any further, I'm wondering
if this is a) desired, or perhaps b) superfluous? This may be best
discussed with along-side the patch - which'll follow shortly. ;)
Also, I got to thinking whether it might be an idea to use the following
idiom in the code:
[shell scripts]
prog="`basename $0`"
..
foo || die "${prog}: foo failed"
[C sources]
static char *prog;
..
static inline void set_prog_name (char *argv0)
{
prog = strrchr(argv0, '/');
if (prog)
prog++;
else
prog = argv0;
}
..
int main (int argc, char **argv)
{
set_prog_name(argv[0]);
..
if (!do_bar())
die("%s: do_bar() failed", prog);
..
}
The idea behind this being that, if any of the git programs get renamed
(again :) there won't be a need for s/git-foo/git-bar/g just to fix-up
die() error messages, and it'll also shave a *bit* off of the size of the
compiled binaries. ;)
(Of course, the C parts (`prog' and `set_prog_name()') would go into a
header, and not in every single C source file. ;)
So, any thoughts/comments/flames? :)
Best,
Elfyn
--
Elfyn McBratney
Gentoo Developer/Perl Team Lead
beu/irc.freenode.net http://dev.gentoo.org/~beu/
+------------O.o--------------------- http://dev.gentoo.org/~beu/pubkey.asc
PGP Key ID: 0x69DF17AD
PGP Key Fingerprint:
DBD3 B756 ED58 B1B4 47B9 B3BD 8D41 E597 69DF 17AD