diff options
author | nicm <nicm> | 2015-09-11 14:41:50 +0000 |
---|---|---|
committer | nicm <nicm> | 2015-09-11 14:41:50 +0000 |
commit | a3de5dbab1680528d622a5054075e3d8efced795 (patch) | |
tree | 1417f7b21aea11c4911a5f95d1de02f3faa079a6 /paste.c | |
parent | cfabe30becba6f0c54035a29ee61a6a7f3d0cf60 (diff) | |
download | rtmux-a3de5dbab1680528d622a5054075e3d8efced795.tar.gz rtmux-a3de5dbab1680528d622a5054075e3d8efced795.tar.bz2 rtmux-a3de5dbab1680528d622a5054075e3d8efced795.zip |
Merge delete-buffer into cmd-set-buffer.c and change the paste buffer
API so it has one paste_free() rather than free_top and free_name
(everywhere that uses it already has the right pointer).
Diffstat (limited to 'paste.c')
-rw-r--r-- | paste.c | 37 |
1 files changed, 7 insertions, 30 deletions
@@ -111,18 +111,6 @@ paste_get_top(const char **name) return (pb); } -/* Free the most recent buffer. */ -int -paste_free_top(void) -{ - struct paste_buffer *pb; - - pb = paste_get_top(NULL); - if (pb == NULL) - return (-1); - return (paste_free_name(pb->name)); -} - /* Get a paste buffer by name. */ struct paste_buffer * paste_get_name(const char *name) @@ -136,20 +124,10 @@ paste_get_name(const char *name) return (RB_FIND(paste_name_tree, &paste_by_name, &pbfind)); } -/* Free a paste buffer by name. */ -int -paste_free_name(const char *name) +/* Free a paste buffer. */ +void +paste_free(struct paste_buffer *pb) { - struct paste_buffer *pb, pbfind; - - if (name == NULL || *name == '\0') - return (-1); - - pbfind.name = (char *)name; - pb = RB_FIND(paste_name_tree, &paste_by_name, &pbfind); - if (pb == NULL) - return (-1); - RB_REMOVE(paste_name_tree, &paste_by_name, pb); RB_REMOVE(paste_time_tree, &paste_by_time, pb); if (pb->automatic) @@ -158,7 +136,6 @@ paste_free_name(const char *name) free(pb->data); free(pb->name); free(pb); - return (0); } /* @@ -179,7 +156,7 @@ paste_add(char *data, size_t size) if (paste_num_automatic < limit) break; if (pb->automatic) - paste_free_name(pb->name); + paste_free(pb); } pb = xmalloc(sizeof *pb); @@ -257,7 +234,7 @@ paste_rename(const char *oldname, const char *newname, char **cause) int paste_set(char *data, size_t size, const char *name, char **cause) { - struct paste_buffer *pb; + struct paste_buffer *pb, *old; if (cause != NULL) *cause = NULL; @@ -288,8 +265,8 @@ paste_set(char *data, size_t size, const char *name, char **cause) pb->automatic = 0; pb->order = paste_next_order++; - if (paste_get_name(name) != NULL) - paste_free_name(name); + if ((old = paste_get_name(name)) != NULL) + paste_free(old); RB_INSERT(paste_name_tree, &paste_by_name, pb); RB_INSERT(paste_time_tree, &paste_by_time, pb); |