diff options
author | 2016-10-05 12:34:05 +0000 | |
---|---|---|
committer | 2016-10-05 12:34:05 +0000 | |
commit | bba10b081c1fa7ccf2050181cd7afb6d816f66ff (patch) | |
tree | 02134020fddd4128ddff1c0ba2df69c10628a096 /usr.bin/tmux/paste.c | |
parent | Allow cmd_mouse_at return arguments to be NULL. (diff) | |
download | wireguard-openbsd-bba10b081c1fa7ccf2050181cd7afb6d816f66ff.tar.xz wireguard-openbsd-bba10b081c1fa7ccf2050181cd7afb6d816f66ff.zip |
Keep buffer creation time and add accessors for it and the order number.
Diffstat (limited to 'usr.bin/tmux/paste.c')
-rw-r--r-- | usr.bin/tmux/paste.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/usr.bin/tmux/paste.c b/usr.bin/tmux/paste.c index f119e9f3446..bb0ceb39e2c 100644 --- a/usr.bin/tmux/paste.c +++ b/usr.bin/tmux/paste.c @@ -1,4 +1,4 @@ -/* $OpenBSD: paste.c,v 1.34 2016/01/19 15:59:12 nicm Exp $ */ +/* $OpenBSD: paste.c,v 1.35 2016/10/05 12:34:05 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com> @@ -35,6 +35,7 @@ struct paste_buffer { size_t size; char *name; + time_t created; int automatic; u_int order; @@ -79,6 +80,20 @@ paste_buffer_name(struct paste_buffer *pb) return (pb->name); } +/* Get paste buffer order. */ +u_int +paste_buffer_order(struct paste_buffer *pb) +{ + return (pb->order); +} + +/* Get paste buffer created. */ +time_t +paste_buffer_created(struct paste_buffer *pb) +{ + return (pb->created); +} + /* Get paste buffer data. */ const char * paste_buffer_data(struct paste_buffer *pb, size_t *size) @@ -88,7 +103,7 @@ paste_buffer_data(struct paste_buffer *pb, size_t *size) return (pb->data); } -/* Walk paste buffers by name. */ +/* Walk paste buffers by time. */ struct paste_buffer * paste_walk(struct paste_buffer *pb) { @@ -174,6 +189,8 @@ paste_add(char *data, size_t size) pb->automatic = 1; paste_num_automatic++; + pb->created = time(NULL); + pb->order = paste_next_order++; RB_INSERT(paste_name_tree, &paste_by_name, pb); RB_INSERT(paste_time_tree, &paste_by_time, pb); @@ -264,6 +281,8 @@ paste_set(char *data, size_t size, const char *name, char **cause) pb->automatic = 0; pb->order = paste_next_order++; + pb->created = time(NULL); + if ((old = paste_get_name(name)) != NULL) paste_free(old); |