aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2016-03-12 13:58:01 +0100
committerMarc André Tanner <mat@brain-dump.org>2016-03-12 13:58:01 +0100
commitb9f04d851d17d404a842a4d8afe2156aef337283 (patch)
treea1df10f1eba6d74ad6ed731ef30d6273e7244bde
parent5acc7ee4627a4c6bb38f517d5fb0aed43f4023b7 (diff)
downloadvis-b9f04d851d17d404a842a4d8afe2156aef337283.tar.gz
vis-b9f04d851d17d404a842a4d8afe2156aef337283.tar.xz
register: add function to set register content to arbitrary data
-rw-r--r--register.c4
-rw-r--r--register.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/register.c b/register.c
index 932be28..57268e8 100644
--- a/register.c
+++ b/register.c
@@ -61,6 +61,10 @@ const char *register_get(Vis *vis, Register *reg, size_t *len) {
}
}
+bool register_put(Vis *vis, Register *reg, const char *data, size_t len) {
+ return reg->type == REGISTER_NORMAL && buffer_put(&reg->buf, data, len);
+}
+
bool register_put_range(Vis *vis, Register *reg, Text *txt, Filerange *range) {
if (reg->append)
return register_append_range(reg, txt, range);
diff --git a/register.h b/register.h
index 53768ac..d66e557 100644
--- a/register.h
+++ b/register.h
@@ -23,6 +23,7 @@ typedef struct {
void register_release(Register *reg);
const char *register_get(Vis*, Register*reg, size_t *len);
+bool register_put(Vis*, Register *reg, const char *data, size_t len);
bool register_put_range(Vis*, Register *reg, Text *txt, Filerange *range);
bool register_append_range(Register *reg, Text *txt, Filerange *range);