--- sourceforge.net/trunk/rdesktop/rdpdr.c 2004/08/09 13:50:41 747 +++ sourceforge.net/trunk/rdesktop/rdpdr.c 2004/10/02 01:30:33 776 @@ -65,7 +65,7 @@ static VCHANNEL *rdpdr_channel; /* If select() times out, the request for the device with handle g_min_timeout_fd is aborted */ -HANDLE g_min_timeout_fd; +NTHANDLE g_min_timeout_fd; uint32 g_num_devices; /* Table with information about rdpdr devices */ @@ -90,7 +90,7 @@ /* Return device_id for a given handle */ int -get_device_index(HANDLE handle) +get_device_index(NTHANDLE handle) { int i; for (i = 0; i < RDPDR_MAX_DEVICES; i++) @@ -940,7 +940,8 @@ /* only delete link if all data has been transfered */ /* or if result was 0 and status success - EOF */ if ((iorq->partial_len == iorq->length) || - (result == 0)) + (g_rdpdr_device[iorq->device].device_type == + DEVICE_TYPE_SERIAL) || (result == 0)) { #if WITH_DEBUG_RDP5 DEBUG(("RDPDR: AIO total %u bytes read of %u\n", iorq->partial_len, iorq->length));