diff options
author | nicm <nicm> | 2014-05-13 22:54:18 +0000 |
---|---|---|
committer | nicm <nicm> | 2014-05-13 22:54:18 +0000 |
commit | b2e791b574a60e481d2a5813157ab00cb99cc32f (patch) | |
tree | 6120a8430c7be40dfcd9ade8a7ba284f05af7446 | |
parent | b3e8d440ed0477e88232c3ba1779c67eafce3a48 (diff) | |
download | rtmux-b2e791b574a60e481d2a5813157ab00cb99cc32f.tar.gz rtmux-b2e791b574a60e481d2a5813157ab00cb99cc32f.tar.bz2 rtmux-b2e791b574a60e481d2a5813157ab00cb99cc32f.zip |
Don't allow multiple buffers with the same name, from Thomas Adam.
-rw-r--r-- | paste.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -176,7 +176,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; @@ -195,7 +195,14 @@ paste_rename(const char *oldname, const char *newname, char **cause) pb = paste_get_name(oldname); if (pb == NULL) { if (cause != NULL) - xasprintf(cause, "no buffer %s", oldname); + xasprintf(cause, "no buffer %s", oldname); + return (-1); + } + + pb_new = paste_get_name(newname); + if (pb_new != NULL) { + if (cause != NULL) + xasprintf(cause, "buffer %s already exists", newname); return (-1); } |