At 14:49 +0100 18 Aug 2013, Nicholas Marriott <[email protected]>
wrote:
>How do you show the difference between an empty value and one to be
>unset then?
An empty value would still have a pair of single quotes after the equal
sign, an unset value would not.
But, I'm now thinking that I should change it to emit "unset var" for
the latter case. Here's a patch on top of the previous one to
accomplish that. If these changes get applied, it may make sense to
squash the two changes into one.
------ 8< -------
Subject: [PATCH] Unset variables in showenv -s output
In order for showenv -s output to truly replicate the effect if eval'd
by a shell, variables that aren't set need to be explicitly unset not
just set to an empty value.
---
cmd-show-environment.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/cmd-show-environment.c b/cmd-show-environment.c
index 31058af..a49a1c2 100644
--- a/cmd-show-environment.c
+++ b/cmd-show-environment.c
@@ -48,10 +48,12 @@ sh_environment( struct cmd_q *cmdq, struct environ_entry
*envent )
size_t len;
size_t bufsize = 128;
- val = buf = xmalloc(bufsize);
-
- if (envent->value != NULL) {
+ if (envent->value == NULL) {
+ cmdq_print(cmdq, "unset %s", envent->name);
+ }
+ else {
old = envent->value;
+ val = buf = xmalloc(bufsize);
*(val++) = '\'';
len = 1;
@@ -78,12 +80,11 @@ sh_environment( struct cmd_q *cmdq, struct environ_entry
*envent )
++len;
}
*(val++) = '\'';
- }
-
- *val = 0;
- cmdq_print(cmdq, "%s=%s", envent->name, buf);
+ *val = 0;
- free(buf);
+ cmdq_print(cmdq, "%s=%s", envent->name, buf);
+ free(buf);
+ }
}
enum cmd_retval
--
1.7.10.4
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
tmux-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tmux-users