]> git.sesse.net Git - rdpsrv/blobdiff - rdpsrv.c
Separated the RDP5 sending into its own protocol layer.
[rdpsrv] / rdpsrv.c
index 94f20994376dfbb9b81588ed1809229189b1a9b6..f5bea8a23d0998b7857205c3d5c44d1bbdbf119a 100644 (file)
--- a/rdpsrv.c
+++ b/rdpsrv.c
@@ -140,6 +140,8 @@ void handle_input_pdu(STREAM s, int vnc_sock)
                                 mouse1_down = (device_flags & MOUSE_FLAG_DOWN) ? 0x01 : 0;
                        if (device_flags & MOUSE_FLAG_BUTTON2)
                                 mouse2_down = (device_flags & MOUSE_FLAG_DOWN) ? 0x02 : 0;
+               
+                       printf("button mask = %x\n", mouse1_down | mouse2_down);
                        
                        buf[0] = 5; // message type
                        buf[1] = mouse1_down | mouse2_down; // button mask
@@ -318,10 +320,11 @@ void handle_vnc_fbupdate(int vnc_sock)
        }
 }
 
+int listen_on_vnc = 0;
+
 int serve_client()
 {
        int vnc_sock = vnc_init();
-       int listen_on_vnc = 0;
        
        if (!mcs_recv_connect_initial())
                error("MCS_CONNECT_INITIAL recv failed");
@@ -387,7 +390,7 @@ int serve_client()
                                        error("short read on vnc_sock\n");
                                if (read(vnc_sock, buf, 4) != 4)
                                        error("short read on vnc_sock\n");
-                               if (read(vnc_sock, (buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3], 4) != 4)
+                               if (read(vnc_sock, buf, (buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]) != 4)
                                        error("short read on vnc_sock\n");
                                
                        default: