Package: vncsnapshot
Version: 1.2a-3
Severity: important
Tags: patch

I cannot capture vnc screen using vncsnapshot installed on an amd64 host.

I noticed that vncsnapshot cannot correctly deduce protocol information
from the VNC packets sent by VNC server. The problem lies in the header
file rfb.h, which defined CARD32 as unsigned long, 64bit integer on amd64.

According to stdint.h, an unsigned 32bit integer on Linux should be defined
as 'unsigned int'.

-- System Information:
Debian Release: 5.0.1
 APT prefers stable
 APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash

Versions of packages vncsnapshot depends on:
ii  libc6                  2.7-18            GNU C Library: Shared libraries
ii  libgcc1                1:4.3.2-1.1       GCC support library
ii  libjpeg62              6b-14             The Independent JPEG Group's JPEG
ii  libstdc++6             4.3.2-1.1         The GNU Standard C++ Library v3
ii  zlib1g                 1:1.2.3.3.dfsg-12 compression library - runtime

Versions of packages vncsnapshot recommends:
ii  vnc4server               4.1.1+X4.3.0-31 Virtual network computing server s

vncsnapshot suggests no packages.

-- no debconf information
diff -Naur vncsnapshot-1.2a.orig/rfb.h vncsnapshot-1.2a/rfb.h
--- vncsnapshot-1.2a.orig/rfb.h	2009-07-08 07:47:53.000000000 +0800
+++ vncsnapshot-1.2a/rfb.h	2009-07-03 23:52:53.000000000 +0800
@@ -34,7 +34,7 @@
 
 // Define the CARD* types as used in X11/Xmd.h
 
-typedef unsigned long CARD32;
+typedef unsigned int CARD32;
 typedef unsigned short CARD16;
 typedef short INT16;
 typedef unsigned char  CARD8;

Reply via email to