diff options
author | Egmont Koblinger <egmont@gmail.com> | 2019-02-04 23:05:45 +0100 |
---|---|---|
committer | Egmont Koblinger <egmont@gmail.com> | 2019-02-04 23:05:45 +0100 |
commit | 27411d1642d3bbafe5986e4f406db361a326a31e (patch) | |
tree | 3b26679f6e62218a2c47fd0ea3932af2d8396fe8 /src | |
parent | 5a01bf95904148a06baf7f908f7321ff3fc7d1a8 (diff) | |
download | vte-27411d1642d3bbafe5986e4f406db361a326a31e.tar.gz |
vteunistr: Add method to concatenate two unistrs
Diffstat (limited to 'src')
-rw-r--r-- | src/vteunistr.cc | 13 | ||||
-rw-r--r-- | src/vteunistr.h | 13 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/vteunistr.cc b/src/vteunistr.cc index 2e412e3e..69c47fe0 100644 --- a/src/vteunistr.cc +++ b/src/vteunistr.cc @@ -140,6 +140,19 @@ _vte_unistr_append_unichar (vteunistr s, gunichar c) return ret; } +vteunistr +_vte_unistr_append_unistr (vteunistr s, vteunistr t) +{ + g_return_val_if_fail (s < unistr_next, s); + g_return_val_if_fail (t < unistr_next, s); + if (G_UNLIKELY (t >= VTE_UNISTR_START)) { + s = _vte_unistr_append_unistr (s, DECOMP_FROM_UNISTR (t).prefix); + return _vte_unistr_append_unichar (s, DECOMP_FROM_UNISTR (t).suffix); + } else { + return _vte_unistr_append_unichar (s, t); + } +} + gunichar _vte_unistr_get_base (vteunistr s) { diff --git a/src/vteunistr.h b/src/vteunistr.h index 04aa9fb6..9bde6b2c 100644 --- a/src/vteunistr.h +++ b/src/vteunistr.h @@ -57,6 +57,19 @@ typedef guint32 vteunistr; vteunistr _vte_unistr_append_unichar (vteunistr s, gunichar c); +/** + * _vte_unistr_append_unistr: + * @s: a #vteunistr + * @t: another #vteunistr to append to @s + * + * Creates a vteunistr value for the string @s followed by the + * string @t. + * + * Returns: the new #vteunistr value + **/ +vteunistr +_vte_unistr_append_unistr (vteunistr s, vteunistr t); + gunichar _vte_unistr_get_base (vteunistr s); |