Jeff King [off-list ref] writes:
On Tue, Dec 13, 2011 at 01:10:26PM +0100, Erik Faye-Lund wrote:
quoted
+int xsetenv(const char *name, const char *val, int overwrite)
+{
+ if (setenv(name, val, overwrite))
+ die_errno("setenv failed");
+}
It probably doesn't matter, because the error condition is almost
certainly just "oops, we ran out of memory". But you could also print
the name of the variable being set, which may give the user a clue to
some misconfiguration (e.g., trying to put some extremely long value
into the environment).
Do we have enough memory to format that message in that situation ;-)?
On Tue, Dec 13, 2011 at 7:34 PM, Junio C Hamano [off-list ref] wrote:
Jeff King [off-list ref] writes:
quoted
On Tue, Dec 13, 2011 at 01:10:26PM +0100, Erik Faye-Lund wrote:
quoted
+int xsetenv(const char *name, const char *val, int overwrite)
+{
+ if (setenv(name, val, overwrite))
+ die_errno("setenv failed");
+}
It probably doesn't matter, because the error condition is almost
certainly just "oops, we ran out of memory". But you could also print
the name of the variable being set, which may give the user a clue to
some misconfiguration (e.g., trying to put some extremely long value
into the environment).
Do we have enough memory to format that message in that situation ;-)?
We could. Running out of environment space is not the same as running
out of memory. For instance, Windows has a maximum environment size of
32 kB. Older Linux kernels maxed out at 128 kB.
So I think it's a good idea to at least try. The worst that can happen
is another, less descriptive error, no?