Create a new set_encoding() function to remove duplicated code in set_encodings().
Signed-off-by: Corentin Chary <corenti...@iksaif.net> --- vnc.c | 19 ++++++++++--------- 1 files changed, 10 insertions(+), 9 deletions(-) diff --git a/vnc.c b/vnc.c index 1f7ad73..a91c3a3 100644 --- a/vnc.c +++ b/vnc.c @@ -1587,6 +1587,13 @@ static void send_ext_audio_ack(VncState *vs) vnc_flush(vs); } +static void set_encoding(VncState *vs, int encoding) +{ + if (vs->vnc_encoding == -1) { + vs->vnc_encoding = encoding; + } +} + static void set_encodings(VncState *vs, int32_t *encodings, size_t n_encodings) { int i; @@ -1603,24 +1610,18 @@ static void set_encodings(VncState *vs, int32_t *encodings, size_t n_encodings) enc = encodings[i]; switch (enc) { case VNC_ENCODING_RAW: - if (vs->vnc_encoding != -1) { - vs->vnc_encoding = enc; - } + set_encoding(vs, enc); break; case VNC_ENCODING_COPYRECT: vs->features |= VNC_FEATURE_COPYRECT_MASK; break; case VNC_ENCODING_HEXTILE: vs->features |= VNC_FEATURE_HEXTILE_MASK; - if (vs->vnc_encoding != -1) { - vs->vnc_encoding = enc; - } + set_encoding(vs, enc); break; case VNC_ENCODING_ZLIB: vs->features |= VNC_FEATURE_ZLIB_MASK; - if (vs->vnc_encoding != -1) { - vs->vnc_encoding = enc; - } + set_encoding(vs, enc); break; case VNC_ENCODING_DESKTOPRESIZE: vs->features |= VNC_FEATURE_RESIZE_MASK; -- 1.7.0.2