1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-07-01 03:22:48 -05:00

Utility function strbuf_dup.

If you already have a string (of potentially-binary data) in the form
of a ptrlen reference to somewhere else, and you want to keep a copy
somewhere, it's useful to copy it into a strbuf. But it takes a couple
of lines of faff to do that, and it's nicer to wrap that up into a
tiny helper function.

This commit adds that helper function strbuf_dup, and its non-movable
sibling strbuf_dup_nm for secret data. Also, gone through the existing
code and found a bunch of cases where this makes things less verbose.
This commit is contained in:
Simon Tatham
2022-04-19 10:53:44 +01:00
parent de47ec2f5f
commit e7d51505c7
7 changed files with 40 additions and 46 deletions

View File

@ -112,3 +112,17 @@ void strbuf_finalise_agent_query(strbuf *buf_o)
assert(buf->visible.len >= 5);
PUT_32BIT_MSB_FIRST(buf->visible.u, buf->visible.len - 4);
}
strbuf *strbuf_dup(ptrlen string)
{
strbuf *buf = strbuf_new();
put_datapl(buf, string);
return buf;
}
strbuf *strbuf_dup_nm(ptrlen string)
{
strbuf *buf = strbuf_new_nm();
put_datapl(buf, string);
return buf;
}