# utf8_append

- **Language:** C
- **Kind:** function
- **Source:** https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/utf8.c#L283
- **Page:** https://libtmux.org/en/tmux/3.2a/reference/c-function-utf8_append/

```c
enum utf8_state utf8_append(struct utf8_data *ud, u_char ch)
```

## Parameters

- `ud` (`struct utf8_data *`)
- `ch` (`u_char`)

## Called by

- [`format_draw`](/en/tmux/3.2a/reference/c-function-format_draw/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/format-draw.c#L750)
- [`format_trim_left`](/en/tmux/3.2a/reference/c-function-format_trim_left/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/format-draw.c#L1111)
- [`format_trim_right`](/en/tmux/3.2a/reference/c-function-format_trim_right/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/format-draw.c#L1212)
- [`format_width`](/en/tmux/3.2a/reference/c-function-format_width/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/format-draw.c#L1038)
- [`input_top_bit_set`](/en/tmux/3.2a/reference/c-function-input-c-input_top_bit_set/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/input.c#L2418)
- [`key_string_lookup_string`](/en/tmux/3.2a/reference/c-function-key_string_lookup_string/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/key-string.c#L224)
- [`status_prompt_paste`](/en/tmux/3.2a/reference/c-function-status-c-status_prompt_paste/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/status.c#L920)
- [`tty_keys_next1`](/en/tmux/3.2a/reference/c-function-tty-keys-c-tty_keys_next1/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/tty-keys.c#L632)
- [`utf8_cstrwidth`](/en/tmux/3.2a/reference/c-function-utf8_cstrwidth/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/utf8.c#L527)
- [`utf8_fromcstr`](/en/tmux/3.2a/reference/c-function-utf8_fromcstr/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/utf8.c#L482)
- [`utf8_isvalid`](/en/tmux/3.2a/reference/c-function-utf8_isvalid/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/utf8.c#L390)
- [`utf8_open`](/en/tmux/3.2a/reference/c-function-utf8_open/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/utf8.c#L277)
- [`utf8_sanitize`](/en/tmux/3.2a/reference/c-function-utf8_sanitize/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/utf8.c#L420)
- [`utf8_strvis`](/en/tmux/3.2a/reference/c-function-utf8_strvis/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/utf8.c#L324)

## Calls

- [`fatalx`](/en/tmux/3.2a/reference/c-function-fatalx/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/utf8.c#L288)
- [`utf8_width`](/en/tmux/3.2a/reference/c-function-utf8-c-utf8_width/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/utf8.c#L301)

## Referenced by

- [`screen_write_strlen`](/en/tmux/3.2a/reference/c-function-screen_write_strlen/) (function)
- [`screen_write_vnputs`](/en/tmux/3.2a/reference/c-function-screen_write_vnputs/) (function)
- [`session_new`](/en/tmux/3.2a/reference/c-function-session_new/) (function)

## Referenced declarations

- [`utf8_data.data`](/en/tmux/3.2a/reference/c-struct-utf8_data-data/) (attribute)
- [`utf8_data.have`](/en/tmux/3.2a/reference/c-struct-utf8_data-have/) (attribute)
- [`utf8_data.size`](/en/tmux/3.2a/reference/c-struct-utf8_data-size/) (attribute)
- [`utf8_data`](/en/tmux/3.2a/reference/c-struct-utf8_data/) (struct)
- [`UTF8_DONE`](/en/tmux/3.2a/reference/c-enum-utf8_state-utf8_done/) (constant)
- [`UTF8_ERROR`](/en/tmux/3.2a/reference/c-enum-utf8_state-utf8_error/) (constant)
- [`UTF8_MORE`](/en/tmux/3.2a/reference/c-enum-utf8_state-utf8_more/) (constant)
- [`utf8_state`](/en/tmux/3.2a/reference/c-enum-utf8_state/) (enum)
- [`utf8_data.width`](/en/tmux/3.2a/reference/c-struct-utf8_data-width/) (attribute)
