With the recent ability to name paste buffers, the following is possible:

% ~/projects/tmux/tmux setb -b buffer0001 -nfoo
% ~/projects/tmux/tmux setb -b buffer0000 -nbuffer0001
% ~/projects/tmux/tmux setb -b foo -nbuffer0001

Which results in two paste buffers with the same name.  Perfectly legal
since they're two different paste buffers, but it's confusing as hell
working out which one of those gets used.

So check for this, and disallow it.
---
 paste.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/paste.c b/paste.c
index fdd4f5d..e6f77c4 100644
--- a/paste.c
+++ b/paste.c
@@ -175,7 +175,7 @@ paste_add(char *data, size_t size)
 int
 paste_rename(const char *oldname, const char *newname, char **cause)
 {
-       struct paste_buffer     *pb;
+       struct paste_buffer     *pb, *pb_new;
 
        if (cause != NULL)
                *cause = NULL;
@@ -192,12 +192,22 @@ paste_rename(const char *oldname, const char *newname, 
char **cause)
        }
 
        pb = paste_get_name(oldname);
+       pb_new = paste_get_name(newname);
+
        if (pb == NULL) {
                if (cause != NULL)
                    xasprintf(cause, "no buffer %s", oldname);
                return (-1);
        }
 
+       if (pb_new != NULL) {
+               if (cause != NULL) {
+                       xasprintf(cause,
+                               "buffer '%s' already exists", newname);
+               }
+               return (-1);
+       }
+
        RB_REMOVE(paste_name_tree, &paste_by_name, pb);
 
        free(pb->name);
-- 
1.8.4.rc2


------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to