From a255783ee09b15e1cae63a44b6494eeeebd540a9 Mon Sep 17 00:00:00 2001 From: runge Date: Wed, 11 Oct 2006 23:47:40 +0000 Subject: [PATCH] N_ENC_CAPS check does not work if libz is not present. --- libvncserver/tightvnc-filetransfer/rfbtightserver.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libvncserver/tightvnc-filetransfer/rfbtightserver.c b/libvncserver/tightvnc-filetransfer/rfbtightserver.c index cb9530f..d17f16c 100644 --- a/libvncserver/tightvnc-filetransfer/rfbtightserver.c +++ b/libvncserver/tightvnc-filetransfer/rfbtightserver.c @@ -237,7 +237,7 @@ rfbSendInteractionCaps(rfbClientPtr cl) rfbCapabilityInfo smsg_list[N_SMSG_CAPS]; rfbCapabilityInfo cmsg_list[N_CMSG_CAPS]; rfbCapabilityInfo enc_list[N_ENC_CAPS]; - int i; + int i, n_enc_caps = N_ENC_CAPS; /* Fill in the header structure sent prior to capability lists. */ intr_caps.nServerMessageTypes = Swap16IfLE(N_SMSG_CAPS); @@ -286,6 +286,8 @@ rfbSendInteractionCaps(rfbClientPtr cl) #ifdef LIBVNCSERVER_HAVE_LIBZ SetCapInfo(&enc_list[i++], rfbEncodingZlib, rfbTridiaVncVendor); SetCapInfo(&enc_list[i++], rfbEncodingTight, rfbTightVncVendor); +#else + n_enc_caps -= 2; #endif SetCapInfo(&enc_list[i++], rfbEncodingCompressLevel0, rfbTightVncVendor); SetCapInfo(&enc_list[i++], rfbEncodingQualityLevel0, rfbTightVncVendor); @@ -293,7 +295,7 @@ rfbSendInteractionCaps(rfbClientPtr cl) SetCapInfo(&enc_list[i++], rfbEncodingRichCursor, rfbTightVncVendor); SetCapInfo(&enc_list[i++], rfbEncodingPointerPos, rfbTightVncVendor); SetCapInfo(&enc_list[i++], rfbEncodingLastRect, rfbTightVncVendor); - if (i != N_ENC_CAPS) { + if (i != n_enc_caps) { rfbLog("rfbSendInteractionCaps: assertion failed, i != N_ENC_CAPS\n"); rfbCloseClient(cl); return;