summaryrefslogtreecommitdiffstats
path: root/paste.c
diff options
context:
space:
mode:
authornicm <nicm>2022-08-15 09:10:34 +0000
committernicm <nicm>2022-08-15 09:10:34 +0000
commit7c2dcd72380dc2d9e119e99cb423a67ae17b6bd2 (patch)
tree6407cc86249a7cda28c9d440e5e99e247fde866c /paste.c
parent03149bf7f62e2c92d0e60087c52604d2dd51794f (diff)
Notify when a paste buffer is deleted, GitHub issue 3302 from George
Nachman.
Diffstat (limited to 'paste.c')
-rw-r--r--paste.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/paste.c b/paste.c
index 5ff36854..53477387 100644
--- a/paste.c
+++ b/paste.c
@@ -151,6 +151,8 @@ paste_get_name(const char *name)
void
paste_free(struct paste_buffer *pb)
{
+ notify_paste_buffer(pb->name);
+
RB_REMOVE(paste_name_tree, &paste_by_name, pb);
RB_REMOVE(paste_time_tree, &paste_by_time, pb);
if (pb->automatic)
@@ -207,6 +209,8 @@ paste_add(const char *prefix, char *data, size_t size)
pb->order = paste_next_order++;
RB_INSERT(paste_name_tree, &paste_by_name, pb);
RB_INSERT(paste_time_tree, &paste_by_time, pb);
+
+ notify_paste_buffer(pb->name);
}
/* Rename a paste buffer. */
@@ -254,6 +258,9 @@ paste_rename(const char *oldname, const char *newname, char **cause)
RB_INSERT(paste_name_tree, &paste_by_name, pb);
+ notify_paste_buffer(oldname);
+ notify_paste_buffer(newname);
+
return (0);
}
@@ -302,6 +309,8 @@ paste_set(char *data, size_t size, const char *name, char **cause)
RB_INSERT(paste_name_tree, &paste_by_name, pb);
RB_INSERT(paste_time_tree, &paste_by_time, pb);
+ notify_paste_buffer(name);
+
return (0);
}
@@ -312,6 +321,8 @@ paste_replace(struct paste_buffer *pb, char *data, size_t size)
free(pb->data);
pb->data = data;
pb->size = size;
+
+ notify_paste_buffer(pb->name);
}
/* Convert start of buffer into a nice string. */