version 1.39, 2017/01/24 13:28:33 |
version 1.40, 2019/04/02 09:03:39 |
|
|
* that the caller is responsible for allocating data. |
* that the caller is responsible for allocating data. |
*/ |
*/ |
void |
void |
paste_add(char *data, size_t size) |
paste_add(const char *prefix, char *data, size_t size) |
{ |
{ |
struct paste_buffer *pb, *pb1; |
struct paste_buffer *pb, *pb1; |
u_int limit; |
u_int limit; |
|
|
|
if (prefix == NULL) |
|
prefix = "buffer"; |
|
|
if (size == 0) { |
if (size == 0) { |
free(data); |
free(data); |
return; |
return; |
|
|
pb->name = NULL; |
pb->name = NULL; |
do { |
do { |
free(pb->name); |
free(pb->name); |
xasprintf(&pb->name, "buffer%04u", paste_next_index); |
xasprintf(&pb->name, "%s%u", prefix, paste_next_index); |
paste_next_index++; |
paste_next_index++; |
} while (paste_get_name(pb->name) != NULL); |
} while (paste_get_name(pb->name) != NULL); |
|
|
|
|
return (0); |
return (0); |
} |
} |
if (name == NULL) { |
if (name == NULL) { |
paste_add(data, size); |
paste_add(NULL, data, size); |
return (0); |
return (0); |
} |
} |
|
|