summaryrefslogtreecommitdiffstats
path: root/paste.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2019-04-02 11:02:44 +0100
committerThomas Adam <thomas@xteddy.org>2019-04-02 11:02:44 +0100
commitbfc1f0ca62356e1e32e34baa1f8ade168fa72de0 (patch)
treeee0c4542d22df704aea440e468cc923a96462af5 /paste.c
parentf03776c262ff68f4f5c3fefefd559256d534179d (diff)
parent7bcc0d16f24506bed6568ba36bcd278cfc06d069 (diff)
Merge branch 'obsd-master'
Diffstat (limited to 'paste.c')
-rw-r--r--paste.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/paste.c b/paste.c
index 2f2c043b..c1036ad9 100644
--- a/paste.c
+++ b/paste.c
@@ -157,11 +157,14 @@ paste_free(struct paste_buffer *pb)
* that the caller is responsible for allocating data.
*/
void
-paste_add(char *data, size_t size)
+paste_add(const char *prefix, char *data, size_t size)
{
struct paste_buffer *pb, *pb1;
u_int limit;
+ if (prefix == NULL)
+ prefix = "buffer";
+
if (size == 0) {
free(data);
return;
@@ -180,7 +183,7 @@ paste_add(char *data, size_t size)
pb->name = NULL;
do {
free(pb->name);
- xasprintf(&pb->name, "buffer%04u", paste_next_index);
+ xasprintf(&pb->name, "%s%u", prefix, paste_next_index);
paste_next_index++;
} while (paste_get_name(pb->name) != NULL);
@@ -262,7 +265,7 @@ paste_set(char *data, size_t size, const char *name, char **cause)
return (0);
}
if (name == NULL) {
- paste_add(data, size);
+ paste_add(NULL, data, size);
return (0);
}