fixed maxRectsPerUpdate with Tight encoding bug; some autoconfing; stderr should not be used in a library (use rfbLog instead)

pull/1/head
dscho 21 years ago
parent eef408c1d8
commit 13b358fed1

@ -1,7 +1,7 @@
CFLAGS=-g CFLAGS=-g
SUBDIRS=. examples contrib vncterm classes SUBDIRS=. examples contrib vncterm classes libvncclient test
DIST_SUBDIRS=examples contrib vncterm classes DIST_SUBDIRS=examples contrib vncterm classes libvncclient test
bin_SCRIPTS = libvncserver-config bin_SCRIPTS = libvncserver-config

@ -1,6 +1,7 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am. # Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -12,7 +13,6 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
@SET_MAKE@ @SET_MAKE@
SHELL = @SHELL@ SHELL = @SHELL@
srcdir = @srcdir@ srcdir = @srcdir@
@ -42,9 +42,13 @@ AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA) INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@ transform = @program_transform_name@
@ -54,18 +58,23 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
includedir = $(prefix)/include/rfb
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AWK = @AWK@ AWK = @AWK@
CC = @CC@ CC = @CC@
CCLD = @CCLD@ CCLD = @CCLD@
CXX = @CXX@ CXX = @CXX@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
RANLIB = @RANLIB@ RANLIB = @RANLIB@
RPMSOURCEDIR = @RPMSOURCEDIR@ RPMSOURCEDIR = @RPMSOURCEDIR@
STRIP = @STRIP@
VERSION = @VERSION@ VERSION = @VERSION@
X_CFLAGS = @X_CFLAGS@ X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
@ -74,13 +83,10 @@ X_PRE_LIBS = @X_PRE_LIBS@
am__include = @am__include@ am__include = @am__include@
am__quote = @am__quote@ am__quote = @am__quote@
install_sh = @install_sh@ install_sh = @install_sh@
includedir = $(prefix)/include/rfb
CFLAGS = -g CFLAGS = -g
SUBDIRS = . examples contrib vncterm classes SUBDIRS = . examples contrib vncterm classes libvncclient test
DIST_SUBDIRS = examples contrib vncterm classes DIST_SUBDIRS = examples contrib vncterm classes libvncclient test
bin_SCRIPTS = libvncserver-config bin_SCRIPTS = libvncserver-config
@ -123,28 +129,20 @@ LIBRARIES = $(lib_LIBRARIES)
libvncserver_a_AR = $(AR) cru libvncserver_a_AR = $(AR) cru
libvncserver_a_LIBADD = libvncserver_a_LIBADD =
@HAVE_CXX_TRUE@am_libvncserver_a_OBJECTS = main.$(OBJEXT) \ am__objects_1 = main.$(OBJEXT) rfbserver.$(OBJEXT) rfbregion.$(OBJEXT) \
@HAVE_CXX_TRUE@ rfbserver.$(OBJEXT) rfbregion.$(OBJEXT) \ auth.$(OBJEXT) sockets.$(OBJEXT) stats.$(OBJEXT) \
@HAVE_CXX_TRUE@ auth.$(OBJEXT) sockets.$(OBJEXT) stats.$(OBJEXT) \ corre.$(OBJEXT) hextile.$(OBJEXT) rre.$(OBJEXT) \
@HAVE_CXX_TRUE@ corre.$(OBJEXT) hextile.$(OBJEXT) rre.$(OBJEXT) \ translate.$(OBJEXT) cutpaste.$(OBJEXT) zlib.$(OBJEXT) \
@HAVE_CXX_TRUE@ translate.$(OBJEXT) cutpaste.$(OBJEXT) \ tight.$(OBJEXT) httpd.$(OBJEXT) cursor.$(OBJEXT) font.$(OBJEXT) \
@HAVE_CXX_TRUE@ zlib.$(OBJEXT) tight.$(OBJEXT) httpd.$(OBJEXT) \ draw.$(OBJEXT) selbox.$(OBJEXT) d3des.$(OBJEXT) \
@HAVE_CXX_TRUE@ cursor.$(OBJEXT) font.$(OBJEXT) draw.$(OBJEXT) \ vncauth.$(OBJEXT) cargs.$(OBJEXT)
@HAVE_CXX_TRUE@ selbox.$(OBJEXT) d3des.$(OBJEXT) \ am__objects_2 = zrle.$(OBJEXT) FdInStream.$(OBJEXT) \
@HAVE_CXX_TRUE@ vncauth.$(OBJEXT) cargs.$(OBJEXT) zrle.$(OBJEXT) \ FdOutStream.$(OBJEXT) InStream.$(OBJEXT) \
@HAVE_CXX_TRUE@ FdInStream.$(OBJEXT) FdOutStream.$(OBJEXT) \ NullOutStream.$(OBJEXT) ZlibInStream.$(OBJEXT) \
@HAVE_CXX_TRUE@ InStream.$(OBJEXT) NullOutStream.$(OBJEXT) \ ZlibOutStream.$(OBJEXT)
@HAVE_CXX_TRUE@ ZlibInStream.$(OBJEXT) ZlibOutStream.$(OBJEXT) @HAVE_CXX_TRUE@am_libvncserver_a_OBJECTS = $(am__objects_1) \
@HAVE_CXX_FALSE@am_libvncserver_a_OBJECTS = main.$(OBJEXT) \ @HAVE_CXX_TRUE@ $(am__objects_2)
@HAVE_CXX_FALSE@ rfbserver.$(OBJEXT) rfbregion.$(OBJEXT) \ @HAVE_CXX_FALSE@am_libvncserver_a_OBJECTS = $(am__objects_1)
@HAVE_CXX_FALSE@ auth.$(OBJEXT) sockets.$(OBJEXT) \
@HAVE_CXX_FALSE@ stats.$(OBJEXT) corre.$(OBJEXT) \
@HAVE_CXX_FALSE@ hextile.$(OBJEXT) rre.$(OBJEXT) \
@HAVE_CXX_FALSE@ translate.$(OBJEXT) cutpaste.$(OBJEXT) \
@HAVE_CXX_FALSE@ zlib.$(OBJEXT) tight.$(OBJEXT) httpd.$(OBJEXT) \
@HAVE_CXX_FALSE@ cursor.$(OBJEXT) font.$(OBJEXT) draw.$(OBJEXT) \
@HAVE_CXX_FALSE@ selbox.$(OBJEXT) d3des.$(OBJEXT) \
@HAVE_CXX_FALSE@ vncauth.$(OBJEXT) cargs.$(OBJEXT)
libvncserver_a_OBJECTS = $(am_libvncserver_a_OBJECTS) libvncserver_a_OBJECTS = $(am_libvncserver_a_OBJECTS)
SCRIPTS = $(bin_SCRIPTS) SCRIPTS = $(bin_SCRIPTS)
@ -155,21 +153,23 @@ CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBS = @LIBS@ LIBS = @LIBS@
depcomp = $(SHELL) $(top_srcdir)/depcomp depcomp = $(SHELL) $(top_srcdir)/depcomp
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/FdInStream.Po $(DEPDIR)/FdOutStream.Po \ am__depfiles_maybe = depfiles
@AMDEP_TRUE@ $(DEPDIR)/InStream.Po $(DEPDIR)/NullOutStream.Po \ @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/FdInStream.Po \
@AMDEP_TRUE@ $(DEPDIR)/ZlibInStream.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/FdOutStream.Po ./$(DEPDIR)/InStream.Po \
@AMDEP_TRUE@ $(DEPDIR)/ZlibOutStream.Po $(DEPDIR)/auth.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/NullOutStream.Po \
@AMDEP_TRUE@ $(DEPDIR)/cargs.Po $(DEPDIR)/corre.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ZlibInStream.Po \
@AMDEP_TRUE@ $(DEPDIR)/cursor.Po $(DEPDIR)/cutpaste.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/ZlibOutStream.Po ./$(DEPDIR)/auth.Po \
@AMDEP_TRUE@ $(DEPDIR)/d3des.Po $(DEPDIR)/draw.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/cargs.Po ./$(DEPDIR)/corre.Po \
@AMDEP_TRUE@ $(DEPDIR)/font.Po $(DEPDIR)/hextile.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/cursor.Po ./$(DEPDIR)/cutpaste.Po \
@AMDEP_TRUE@ $(DEPDIR)/httpd.Po $(DEPDIR)/main.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/d3des.Po ./$(DEPDIR)/draw.Po \
@AMDEP_TRUE@ $(DEPDIR)/rfbregion.Po $(DEPDIR)/rfbserver.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/font.Po ./$(DEPDIR)/hextile.Po \
@AMDEP_TRUE@ $(DEPDIR)/rre.Po $(DEPDIR)/selbox.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/httpd.Po ./$(DEPDIR)/main.Po \
@AMDEP_TRUE@ $(DEPDIR)/sockets.Po $(DEPDIR)/stats.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/rfbregion.Po ./$(DEPDIR)/rfbserver.Po \
@AMDEP_TRUE@ $(DEPDIR)/tight.Po $(DEPDIR)/translate.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/rre.Po ./$(DEPDIR)/selbox.Po \
@AMDEP_TRUE@ $(DEPDIR)/vncauth.Po $(DEPDIR)/zlib.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/sockets.Po ./$(DEPDIR)/stats.Po \
@AMDEP_TRUE@ $(DEPDIR)/zrle.Po @AMDEP_TRUE@ ./$(DEPDIR)/tight.Po ./$(DEPDIR)/translate.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/vncauth.Po ./$(DEPDIR)/zlib.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/zrle.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
@ -188,9 +188,9 @@ RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
install-exec-recursive installdirs-recursive install-recursive \ install-exec-recursive installdirs-recursive install-recursive \
uninstall-recursive check-recursive installcheck-recursive uninstall-recursive check-recursive installcheck-recursive
DIST_COMMON = README $(include_HEADERS) $(noinst_HEADERS) \ DIST_COMMON = README $(include_HEADERS) $(noinst_HEADERS) \
./rfb/rfbconfig.h.in ./rfb/stamp-h.in AUTHORS COPYING ChangeLog \ ./rfb/rfbconfig.h.in AUTHORS COPYING ChangeLog INSTALL \
INSTALL Makefile.am Makefile.in NEWS TODO acinclude.m4 \ Makefile.am Makefile.in NEWS TODO acinclude.m4 aclocal.m4 \
aclocal.m4 configure configure.ac depcomp install-sh \ configure configure.ac depcomp install-sh \
libvncserver-config.in libvncserver.spec.in missing \ libvncserver-config.in libvncserver.spec.in missing \
mkinstalldirs mkinstalldirs
SOURCES = $(libvncserver_a_SOURCES) SOURCES = $(libvncserver_a_SOURCES)
@ -199,13 +199,14 @@ all: all-recursive
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .c .cxx .o .obj .SUFFIXES: .c .cxx .o .obj
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile $(AUTOMAKE) --gnu Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$@ $(SHELL) ./config.status
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck $(SHELL) ./config.status --recheck
@ -214,49 +215,44 @@ $(srcdir)/configure: $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENC
$(ACLOCAL_M4): configure.ac acinclude.m4 $(ACLOCAL_M4): configure.ac acinclude.m4
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
rfb/rfbconfig.h: rfb/stamp-h
@if test ! -f $@; then \ rfb/rfbconfig.h: rfb/stamp-h1
rm -f rfb/stamp-h; \
$(MAKE) rfb/stamp-h; \
else :; fi
rfb/stamp-h: $(srcdir)/./rfb/rfbconfig.h.in $(top_builddir)/config.status
@rm -f rfb/stamp-h rfb/stamp-hT
@echo timestamp > rfb/stamp-hT 2> /dev/null
cd $(top_builddir) \
&& CONFIG_FILES= CONFIG_HEADERS=rfb/rfbconfig.h \
$(SHELL) ./config.status
@mv rfb/stamp-hT rfb/stamp-h
$(srcdir)/./rfb/rfbconfig.h.in: $(srcdir)/./rfb/stamp-h.in
@if test ! -f $@; then \ @if test ! -f $@; then \
rm -f $(srcdir)/./rfb/stamp-h.in; \ rm -f rfb/stamp-h1; \
$(MAKE) $(srcdir)/./rfb/stamp-h.in; \ $(MAKE) rfb/stamp-h1; \
else :; fi else :; fi
$(srcdir)/./rfb/stamp-h.in: $(top_srcdir)/configure.ac $(ACLOCAL_M4)
@rm -f $(srcdir)/./rfb/stamp-h.in $(srcdir)/./rfb/stamp-h.inT rfb/stamp-h1: $(srcdir)/./rfb/rfbconfig.h.in $(top_builddir)/config.status
@echo timestamp > $(srcdir)/./rfb/stamp-h.inT 2> /dev/null @rm -f rfb/stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status rfb/rfbconfig.h
$(srcdir)/./rfb/rfbconfig.h.in: $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOHEADER) cd $(top_srcdir) && $(AUTOHEADER)
@mv $(srcdir)/./rfb/stamp-h.inT $(srcdir)/./rfb/stamp-h.in touch $(srcdir)/./rfb/rfbconfig.h.in
distclean-hdr: distclean-hdr:
-rm -f rfb/rfbconfig.h -rm -f rfb/rfbconfig.h rfb/stamp-h1
libvncserver.spec: $(top_builddir)/config.status libvncserver.spec.in libvncserver.spec: $(top_builddir)/config.status libvncserver.spec.in
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status cd $(top_builddir) && $(SHELL) ./config.status $@
libvncserver-config: $(top_builddir)/config.status libvncserver-config.in libvncserver-config: $(top_builddir)/config.status libvncserver-config.in
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status cd $(top_builddir) && $(SHELL) ./config.status $@
AR = ar AR = ar
libLIBRARIES_INSTALL = $(INSTALL_DATA)
install-libLIBRARIES: $(lib_LIBRARIES) install-libLIBRARIES: $(lib_LIBRARIES)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(libdir) $(mkinstalldirs) $(DESTDIR)$(libdir)
@list='$(lib_LIBRARIES)'; for p in $$list; do \ @list='$(lib_LIBRARIES)'; for p in $$list; do \
if test -f $$p; then \ if test -f $$p; then \
echo " $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p"; \ f="`echo $$p | sed -e 's|^.*/||'`"; \
$(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p; \ echo " $(libLIBRARIES_INSTALL) $$p $(DESTDIR)$(libdir)/$$f"; \
$(libLIBRARIES_INSTALL) $$p $(DESTDIR)$(libdir)/$$f; \
else :; fi; \ else :; fi; \
done done
@$(POST_INSTALL) @$(POST_INSTALL)
@list='$(lib_LIBRARIES)'; for p in $$list; do \ @list='$(lib_LIBRARIES)'; for p in $$list; do \
if test -f $$p; then \ if test -f $$p; then \
p="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(RANLIB) $(DESTDIR)$(libdir)/$$p"; \ echo " $(RANLIB) $(DESTDIR)$(libdir)/$$p"; \
$(RANLIB) $(DESTDIR)$(libdir)/$$p; \ $(RANLIB) $(DESTDIR)$(libdir)/$$p; \
else :; fi; \ else :; fi; \
@ -265,6 +261,7 @@ install-libLIBRARIES: $(lib_LIBRARIES)
uninstall-libLIBRARIES: uninstall-libLIBRARIES:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@list='$(lib_LIBRARIES)'; for p in $$list; do \ @list='$(lib_LIBRARIES)'; for p in $$list; do \
p="`echo $$p | sed -e 's|^.*/||'`"; \
echo " rm -f $(DESTDIR)$(libdir)/$$p"; \ echo " rm -f $(DESTDIR)$(libdir)/$$p"; \
rm -f $(DESTDIR)$(libdir)/$$p; \ rm -f $(DESTDIR)$(libdir)/$$p; \
done done
@ -281,24 +278,23 @@ libvncserver.a: $(libvncserver_a_OBJECTS) $(libvncserver_a_DEPENDENCIES)
-rm -f libvncserver.a -rm -f libvncserver.a
$(libvncserver_a_AR) libvncserver.a $(libvncserver_a_OBJECTS) $(libvncserver_a_LIBADD) $(libvncserver_a_AR) libvncserver.a $(libvncserver_a_OBJECTS) $(libvncserver_a_LIBADD)
$(RANLIB) libvncserver.a $(RANLIB) libvncserver.a
binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
install-binSCRIPTS: $(bin_SCRIPTS) install-binSCRIPTS: $(bin_SCRIPTS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir) $(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_SCRIPTS)'; for p in $$list; do \ @list='$(bin_SCRIPTS)'; for p in $$list; do \
f="`echo $$p|sed '$(transform)'`"; \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
if test -f $$p; then \ if test -f $$d$$p; then \
echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/$$f"; \ f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
$(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/$$f; \ echo " $(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f"; \
elif test -f $(srcdir)/$$p; then \ $(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f; \
echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/$$f"; \
$(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/$$f; \
else :; fi; \ else :; fi; \
done done
uninstall-binSCRIPTS: uninstall-binSCRIPTS:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@list='$(bin_SCRIPTS)'; for p in $$list; do \ @list='$(bin_SCRIPTS)'; for p in $$list; do \
f="`echo $$p|sed '$(transform)'`"; \ f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
rm -f $(DESTDIR)$(bindir)/$$f; \ rm -f $(DESTDIR)$(bindir)/$$f; \
done done
@ -309,43 +305,43 @@ mostlyclean-compile:
distclean-compile: distclean-compile:
-rm -f *.tab.c -rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/FdInStream.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FdInStream.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/FdOutStream.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FdOutStream.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/InStream.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InStream.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/NullOutStream.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NullOutStream.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ZlibInStream.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ZlibInStream.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ZlibOutStream.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ZlibOutStream.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/auth.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/auth.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/cargs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cargs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/corre.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/corre.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/cursor.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cursor.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/cutpaste.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cutpaste.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/d3des.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/d3des.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/draw.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/draw.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/font.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/font.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/hextile.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hextile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/httpd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/httpd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rfbregion.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfbregion.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rfbserver.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfbserver.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rre.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rre.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/selbox.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/selbox.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/sockets.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sockets.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/stats.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stats.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/tight.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tight.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/translate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/translate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/vncauth.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vncauth.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/zlib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zlib.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/zrle.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zrle.Po@am__quote@
distclean-depend: distclean-depend:
-rm -rf $(DEPDIR) -rm -rf ./$(DEPDIR)
.c.o: .c.o:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$< $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj: .c.obj:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@ -358,7 +354,7 @@ CCDEPMODE = @CCDEPMODE@
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(CXXCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$< $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
.cxx.obj: .cxx.obj:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@ -370,7 +366,7 @@ FdInStream.o: rdr/FdInStream.cxx
@AMDEP_TRUE@ source='rdr/FdInStream.cxx' object='FdInStream.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='rdr/FdInStream.cxx' object='FdInStream.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/FdInStream.Po' tmpdepfile='$(DEPDIR)/FdInStream.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/FdInStream.Po' tmpdepfile='$(DEPDIR)/FdInStream.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FdInStream.o `test -f rdr/FdInStream.cxx || echo '$(srcdir)/'`rdr/FdInStream.cxx $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FdInStream.o `test -f 'rdr/FdInStream.cxx' || echo '$(srcdir)/'`rdr/FdInStream.cxx
FdInStream.obj: rdr/FdInStream.cxx FdInStream.obj: rdr/FdInStream.cxx
@AMDEP_TRUE@ source='rdr/FdInStream.cxx' object='FdInStream.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='rdr/FdInStream.cxx' object='FdInStream.obj' libtool=no @AMDEPBACKSLASH@
@ -382,7 +378,7 @@ FdOutStream.o: rdr/FdOutStream.cxx
@AMDEP_TRUE@ source='rdr/FdOutStream.cxx' object='FdOutStream.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='rdr/FdOutStream.cxx' object='FdOutStream.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/FdOutStream.Po' tmpdepfile='$(DEPDIR)/FdOutStream.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/FdOutStream.Po' tmpdepfile='$(DEPDIR)/FdOutStream.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FdOutStream.o `test -f rdr/FdOutStream.cxx || echo '$(srcdir)/'`rdr/FdOutStream.cxx $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o FdOutStream.o `test -f 'rdr/FdOutStream.cxx' || echo '$(srcdir)/'`rdr/FdOutStream.cxx
FdOutStream.obj: rdr/FdOutStream.cxx FdOutStream.obj: rdr/FdOutStream.cxx
@AMDEP_TRUE@ source='rdr/FdOutStream.cxx' object='FdOutStream.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='rdr/FdOutStream.cxx' object='FdOutStream.obj' libtool=no @AMDEPBACKSLASH@
@ -394,7 +390,7 @@ InStream.o: rdr/InStream.cxx
@AMDEP_TRUE@ source='rdr/InStream.cxx' object='InStream.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='rdr/InStream.cxx' object='InStream.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/InStream.Po' tmpdepfile='$(DEPDIR)/InStream.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/InStream.Po' tmpdepfile='$(DEPDIR)/InStream.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o InStream.o `test -f rdr/InStream.cxx || echo '$(srcdir)/'`rdr/InStream.cxx $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o InStream.o `test -f 'rdr/InStream.cxx' || echo '$(srcdir)/'`rdr/InStream.cxx
InStream.obj: rdr/InStream.cxx InStream.obj: rdr/InStream.cxx
@AMDEP_TRUE@ source='rdr/InStream.cxx' object='InStream.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='rdr/InStream.cxx' object='InStream.obj' libtool=no @AMDEPBACKSLASH@
@ -406,7 +402,7 @@ NullOutStream.o: rdr/NullOutStream.cxx
@AMDEP_TRUE@ source='rdr/NullOutStream.cxx' object='NullOutStream.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='rdr/NullOutStream.cxx' object='NullOutStream.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/NullOutStream.Po' tmpdepfile='$(DEPDIR)/NullOutStream.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/NullOutStream.Po' tmpdepfile='$(DEPDIR)/NullOutStream.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o NullOutStream.o `test -f rdr/NullOutStream.cxx || echo '$(srcdir)/'`rdr/NullOutStream.cxx $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o NullOutStream.o `test -f 'rdr/NullOutStream.cxx' || echo '$(srcdir)/'`rdr/NullOutStream.cxx
NullOutStream.obj: rdr/NullOutStream.cxx NullOutStream.obj: rdr/NullOutStream.cxx
@AMDEP_TRUE@ source='rdr/NullOutStream.cxx' object='NullOutStream.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='rdr/NullOutStream.cxx' object='NullOutStream.obj' libtool=no @AMDEPBACKSLASH@
@ -418,7 +414,7 @@ ZlibInStream.o: rdr/ZlibInStream.cxx
@AMDEP_TRUE@ source='rdr/ZlibInStream.cxx' object='ZlibInStream.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='rdr/ZlibInStream.cxx' object='ZlibInStream.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/ZlibInStream.Po' tmpdepfile='$(DEPDIR)/ZlibInStream.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/ZlibInStream.Po' tmpdepfile='$(DEPDIR)/ZlibInStream.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ZlibInStream.o `test -f rdr/ZlibInStream.cxx || echo '$(srcdir)/'`rdr/ZlibInStream.cxx $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ZlibInStream.o `test -f 'rdr/ZlibInStream.cxx' || echo '$(srcdir)/'`rdr/ZlibInStream.cxx
ZlibInStream.obj: rdr/ZlibInStream.cxx ZlibInStream.obj: rdr/ZlibInStream.cxx
@AMDEP_TRUE@ source='rdr/ZlibInStream.cxx' object='ZlibInStream.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='rdr/ZlibInStream.cxx' object='ZlibInStream.obj' libtool=no @AMDEPBACKSLASH@
@ -430,7 +426,7 @@ ZlibOutStream.o: rdr/ZlibOutStream.cxx
@AMDEP_TRUE@ source='rdr/ZlibOutStream.cxx' object='ZlibOutStream.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='rdr/ZlibOutStream.cxx' object='ZlibOutStream.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/ZlibOutStream.Po' tmpdepfile='$(DEPDIR)/ZlibOutStream.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/ZlibOutStream.Po' tmpdepfile='$(DEPDIR)/ZlibOutStream.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ZlibOutStream.o `test -f rdr/ZlibOutStream.cxx || echo '$(srcdir)/'`rdr/ZlibOutStream.cxx $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ZlibOutStream.o `test -f 'rdr/ZlibOutStream.cxx' || echo '$(srcdir)/'`rdr/ZlibOutStream.cxx
ZlibOutStream.obj: rdr/ZlibOutStream.cxx ZlibOutStream.obj: rdr/ZlibOutStream.cxx
@AMDEP_TRUE@ source='rdr/ZlibOutStream.cxx' object='ZlibOutStream.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='rdr/ZlibOutStream.cxx' object='ZlibOutStream.obj' libtool=no @AMDEPBACKSLASH@
@ -439,14 +435,15 @@ ZlibOutStream.obj: rdr/ZlibOutStream.cxx
$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ZlibOutStream.obj `cygpath -w rdr/ZlibOutStream.cxx` $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ZlibOutStream.obj `cygpath -w rdr/ZlibOutStream.cxx`
CXXDEPMODE = @CXXDEPMODE@ CXXDEPMODE = @CXXDEPMODE@
uninstall-info-am: uninstall-info-am:
includeHEADERS_INSTALL = $(INSTALL_HEADER)
install-includeHEADERS: $(include_HEADERS) install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(includedir) $(mkinstalldirs) $(DESTDIR)$(includedir)
@list='$(include_HEADERS)'; for p in $$list; do \ @list='$(include_HEADERS)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f="`echo $$p | sed -e 's|^.*/||'`"; \ f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(INSTALL_HEADER) $$d$$p $(DESTDIR)$(includedir)/$$f"; \ echo " $(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(includedir)/$$f"; \
$(INSTALL_HEADER) $$d$$p $(DESTDIR)$(includedir)/$$f; \ $(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(includedir)/$$f; \
done done
uninstall-includeHEADERS: uninstall-includeHEADERS:
@ -464,7 +461,7 @@ uninstall-includeHEADERS:
# (which will cause the Makefiles to be regenerated when you run `make'); # (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line. # (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS): $(RECURSIVE_TARGETS):
@set fnord $(MAKEFLAGS); amf=$$2; \ @set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \ dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \ target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
@ -484,7 +481,7 @@ $(RECURSIVE_TARGETS):
mostlyclean-recursive clean-recursive distclean-recursive \ mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive: maintainer-clean-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \ @set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \ dot_seen=no; \
case "$@" in \ case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@ -512,16 +509,19 @@ tags-recursive:
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done done
ETAGS = etags
ETAGSFLAGS =
tags: TAGS tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique $(LISP) mkid -fID $$unique
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -532,51 +532,61 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \ fi; \
done; \ done; \
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP) || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS: GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \ here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \ && cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here && gtags -i $(GTAGS_ARGS) $$here
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = . top_distdir = .
# Avoid unsightly `./'.
distdir = $(PACKAGE)-$(VERSION) distdir = $(PACKAGE)-$(VERSION)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
GZIP_ENV = --best GZIP_ENV = --best
distcleancheck_listfiles = find . -type f -print
distdir: $(DISTFILES) distdir: $(DISTFILES)
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) $(am__remove_distdir)
mkdir $(distdir) mkdir $(distdir)
$(mkinstalldirs) $(distdir)/. $(distdir)/./rfb $(distdir)/rdr $(distdir)/rfb $(mkinstalldirs) $(distdir)/. $(distdir)/./rfb $(distdir)/rdr $(distdir)/rfb
@for file in $(DISTFILES); do \ @list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \ fi; \
if test -d $$d/$$file; then \ if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|| exit 1; \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \ else \
test -f $(distdir)/$$file \ test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \ || exit 1; \
fi; \ fi; \
done done
for subdir in $(DIST_SUBDIRS); do \ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \ test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \ || mkdir $(distdir)/$$subdir \
@ -594,23 +604,28 @@ distdir: $(DISTFILES)
! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir) || chmod -R a+r $(distdir)
dist: distdir dist-gzip: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir) $(am__remove_distdir)
dist dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then # This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another # it guarantees that the distribution is self-contained by making another
# tarfile. # tarfile.
distcheck: dist distcheck: dist
-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir) $(am__remove_distdir)
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
chmod -R a-w $(distdir); chmod a+w $(distdir) chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/=build mkdir $(distdir)/=build
mkdir $(distdir)/=inst mkdir $(distdir)/=inst
chmod a-w $(distdir) chmod a-w $(distdir)
dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \ dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
&& cd $(distdir)/=build \ && cd $(distdir)/=build \
&& ../configure --srcdir=.. --prefix=$$dc_install_base \ && ../configure --srcdir=.. --prefix=$$dc_install_base \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) check \
@ -618,17 +633,24 @@ distcheck: dist
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& (test `find $$dc_install_base -type f -print | wc -l` -le 1 \ && (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
|| (echo "Error: files left after uninstall" 1>&2; \ || { echo "ERROR: files left after uninstall:" ; \
exit 1) ) \ find $$dc_install_base -type f -print ; \
&& $(MAKE) $(AM_MAKEFLAGS) dist \ exit 1; } >&2 ) \
&& $(MAKE) $(AM_MAKEFLAGS) distclean \ && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
&& rm -f $(distdir).tar.gz \ && rm -f $(distdir).tar.gz \
&& (test `find . -type f -print | wc -l` -eq 0 \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|| (echo "Error: files left after distclean" 1>&2; \ $(am__remove_distdir)
exit 1) )
-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \ @echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x' sed 'h;s/./=/g;p;x;p;x'
distcleancheck: distclean
if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am check-am: all-am
check: check-recursive check: check-recursive
all-am: Makefile $(LIBRARIES) $(SCRIPTS) $(HEADERS) all-am: Makefile $(LIBRARIES) $(SCRIPTS) $(HEADERS)
@ -647,6 +669,7 @@ install-am: all-am
installcheck: installcheck-recursive installcheck: installcheck-recursive
install-strip: install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \ `test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic: mostlyclean-generic:
@ -654,7 +677,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -663,11 +686,8 @@ clean: clean-recursive
clean-am: clean-generic clean-libLIBRARIES mostlyclean-am clean-am: clean-generic clean-libLIBRARIES mostlyclean-am
dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
distclean: distclean-recursive distclean: distclean-recursive
-rm -f config.status config.cache config.log -rm -f $(am__CONFIG_DISTCLEAN_FILES)
distclean-am: clean-am distclean-compile distclean-depend \ distclean-am: clean-am distclean-compile distclean-depend \
distclean-generic distclean-hdr distclean-tags distclean-generic distclean-hdr distclean-tags
@ -690,7 +710,8 @@ install-man:
installcheck-am: installcheck-am:
maintainer-clean: maintainer-clean-recursive maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf autom4te.cache
maintainer-clean-am: distclean-am maintainer-clean-generic maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive mostlyclean: mostlyclean-recursive
@ -704,17 +725,17 @@ uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \ .PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
clean-generic clean-libLIBRARIES clean-recursive dist dist-all \ clean-generic clean-libLIBRARIES clean-recursive dist dist-all \
distcheck distclean distclean-compile distclean-depend \ dist-gzip distcheck distclean distclean-compile \
distclean-generic distclean-hdr distclean-recursive \ distclean-depend distclean-generic distclean-hdr \
distclean-tags distdir dvi dvi-am dvi-recursive info info-am \ distclean-recursive distclean-tags distcleancheck distdir dvi \
info-recursive install install-am install-binSCRIPTS \ dvi-am dvi-recursive info info-am info-recursive install \
install-data install-data-am install-data-recursive \ install-am install-binSCRIPTS install-data install-data-am \
install-exec install-exec-am install-exec-recursive \ install-data-recursive install-exec install-exec-am \
install-includeHEADERS install-info install-info-am \ install-exec-recursive install-includeHEADERS install-info \
install-info-recursive install-libLIBRARIES install-man \ install-info-am install-info-recursive install-libLIBRARIES \
install-recursive install-strip installcheck installcheck-am \ install-man install-recursive install-strip installcheck \
installdirs installdirs-am installdirs-recursive \ installcheck-am installdirs installdirs-am \
maintainer-clean maintainer-clean-generic \ installdirs-recursive maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-compile \ maintainer-clean-recursive mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-recursive tags tags-recursive \ mostlyclean-generic mostlyclean-recursive tags tags-recursive \
uninstall uninstall-am uninstall-binSCRIPTS \ uninstall uninstall-am uninstall-binSCRIPTS \

588
aclocal.m4 vendored

@ -1,6 +1,6 @@
# aclocal.m4 generated automatically by aclocal 1.5 # aclocal.m4 generated automatically by aclocal 1.6.3 -*- Autoconf -*-
# Copyright 1996, 1997, 1998, 1999, 2000, 2001 # Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -527,11 +527,30 @@ dnl implemented.
# Do all the work for Automake. This macro actually does too much -- # Do all the work for Automake. -*- Autoconf -*-
# some checks are only needed if your package does certain things.
# But this isn't really a big deal.
# serial 5 # This macro actually does too much some checks are only needed if
# your package does certain things. But this isn't really a big deal.
# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 8
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4, # written in clear, in which case automake, when reading aclocal.m4,
@ -540,62 +559,52 @@ dnl implemented.
# CC etc. in the Makefile, will ask for an AC_PROG_CC use... # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
# We require 2.13 because we rely on SHELL being computed by configure. AC_PREREQ([2.52])
AC_PREREQ([2.13])
# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
# -----------------------------------------------------------
# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED.
# The purpose of this macro is to provide the user with a means to
# check macros which are provided without letting her know how the
# information is coded.
# If this macro is not defined by Autoconf, define it here.
ifdef([AC_PROVIDE_IFELSE],
[],
[define([AC_PROVIDE_IFELSE],
[ifdef([AC_PROVIDE_$1],
[$2], [$3])])])
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE]) # the ones we care about.
# ---------------------------------------------- m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
# The call with PACKAGE and VERSION arguments is the old style
# call (pre autoconf-2.50), which is being phased out. PACKAGE
# and VERSION should now be passed to AC_INIT and removed from
# the call to AM_INIT_AUTOMAKE.
# We support both call styles for the transition. After
# the next Automake release, Autoconf can make the AC_INIT
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE], AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_REQUIRE([AC_PROG_INSTALL])dnl [AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
# test to see if srcdir already configured # test to see if srcdir already configured
if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" && if test "`cd $srcdir && pwd`" != "`pwd`" &&
test -f $srcdir/config.status; then test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first]) AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE=$1 dnl Distinguish between old-style and new-style calls.
AC_SUBST(PACKAGE)dnl m4_ifval([$2],
VERSION=$2 [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
AC_SUBST(VERSION)dnl AC_SUBST([PACKAGE], [$1])dnl
ifelse([$3],, AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl
AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl
_AM_IF_OPTION([no-define],,
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
# the ones we care about.
ifdef([m4_pattern_allow],
[m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl
# Autoconf 2.50 always computes EXEEXT. However we need to be
# compatible with 2.13, for now. So we always define EXEEXT, but we
# don't compute it.
AC_SUBST(EXEEXT)
# Similar for OBJEXT -- only we only use OBJEXT if the user actually
# requests that it be used. This is a bit dumb.
: ${OBJEXT=o}
AC_SUBST(OBJEXT)
# Some tools Automake needs. # Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl
AM_MISSING_PROG(ACLOCAL, aclocal) AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(AUTOHEADER, autoheader)
AM_MISSING_PROG(MAKEINFO, makeinfo) AM_MISSING_PROG(MAKEINFO, makeinfo)
AM_MISSING_PROG(AMTAR, tar) AM_MISSING_PROG(AMTAR, tar)
@ -605,9 +614,9 @@ AM_PROG_INSTALL_STRIP
# some platforms. # some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl
AC_REQUIRE([AM_SET_DEPDIR])dnl _AM_IF_OPTION([no-dependencies],,
AC_PROVIDE_IFELSE([AC_PROG_][CC], [AC_PROVIDE_IFELSE([AC_PROG_][CC],
[_AM_DEPENDENCIES(CC)], [_AM_DEPENDENCIES(CC)],
[define([AC_PROG_][CC], [define([AC_PROG_][CC],
defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
@ -616,11 +625,102 @@ AC_PROVIDE_IFELSE([AC_PROG_][CXX],
[define([AC_PROG_][CXX], [define([AC_PROG_][CXX],
defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl
]) ])
])
# Copyright 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.6"])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
# Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.6.3])])
# Helper functions for option handling. -*- Autoconf -*-
# Copyright 2001, 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 2
# _AM_MANGLE_OPTION(NAME)
# -----------------------
AC_DEFUN([_AM_MANGLE_OPTION],
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
# _AM_SET_OPTION(NAME)
# ------------------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
# _AM_SET_OPTIONS(OPTIONS)
# ----------------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
# -------------------------------------------
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
# #
# Check to make sure that the build environment is sane. # Check to make sure that the build environment is sane.
# #
# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 3 # serial 3
# AM_SANITY_CHECK # AM_SANITY_CHECK
@ -664,8 +764,27 @@ Check your system clock])
fi fi
AC_MSG_RESULT(yes)]) AC_MSG_RESULT(yes)])
# -*- Autoconf -*-
# serial 2
# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 3
# AM_MISSING_PROG(NAME, PROGRAM) # AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------ # ------------------------------
@ -687,13 +806,29 @@ if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run " am_missing_run="$MISSING --run "
else else
am_missing_run= am_missing_run=
am_backtick='`' AC_MSG_WARN([`missing' script is too old or missing])
AC_MSG_WARN([${am_backtick}missing' script is too old or missing])
fi fi
]) ])
# AM_AUX_DIR_EXPAND # AM_AUX_DIR_EXPAND
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
# `$srcdir', `$srcdir/..', or `$srcdir/../..'. # `$srcdir', `$srcdir/..', or `$srcdir/../..'.
@ -732,19 +867,59 @@ fi
# absolute PATH. The drawback is that using absolute paths prevent a # absolute PATH. The drawback is that using absolute paths prevent a
# configured tree to be moved without reconfiguration. # configured tree to be moved without reconfiguration.
# Rely on autoconf to set up CDPATH properly.
AC_PREREQ([2.50])
AC_DEFUN([AM_AUX_DIR_EXPAND], [ AC_DEFUN([AM_AUX_DIR_EXPAND], [
# expand $ac_aux_dir to an absolute path # expand $ac_aux_dir to an absolute path
am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd` am_aux_dir=`cd $ac_aux_dir && pwd`
]) ])
# AM_PROG_INSTALL_SH # AM_PROG_INSTALL_SH
# ------------------ # ------------------
# Define $install_sh. # Define $install_sh.
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_DEFUN([AM_PROG_INSTALL_SH], AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
install_sh=${install_sh-"$am_aux_dir/install-sh"} install_sh=${install_sh-"$am_aux_dir/install-sh"}
AC_SUBST(install_sh)]) AC_SUBST(install_sh)])
# AM_PROG_INSTALL_STRIP
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# One issue with vendor `install' (even GNU) is that you can't # One issue with vendor `install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially # specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip # annoying in cross-compiling environments, where the build's strip
@ -754,11 +929,35 @@ AC_SUBST(install_sh)])
# STRIPPROG with the value of the STRIP variable (set by the user). # STRIPPROG with the value of the STRIP variable (set by the user).
AC_DEFUN([AM_PROG_INSTALL_STRIP], AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
# Installed binaries are usually stripped using `strip' when the user
# run `make install-strip'. However `strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the `STRIP' environment variable to overrule this program.
dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :)
fi
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])]) AC_SUBST([INSTALL_STRIP_PROGRAM])])
# serial 4 -*- Autoconf -*- # serial 4 -*- Autoconf -*-
# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
@ -770,9 +969,9 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
# _AM_DEPENDENCIES(NAME) # _AM_DEPENDENCIES(NAME)
# --------------------- # ----------------------
# See how the compiler implements dependency checking. # See how the compiler implements dependency checking.
# NAME is "CC", "CXX" or "OBJC". # NAME is "CC", "CXX", "GCJ", or "OBJC".
# We try a few techniques and use that to set a single cache variable. # We try a few techniques and use that to set a single cache variable.
# #
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@ -787,7 +986,7 @@ AC_REQUIRE([AM_DEP_TRACK])dnl
ifelse([$1], CC, [depcc="$CC" am_compiler_list=], ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
[$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=],
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'] [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
[depcc="$$1" am_compiler_list=]) [depcc="$$1" am_compiler_list=])
@ -849,8 +1048,7 @@ else
am_cv_$1_dependencies_compiler_type=none am_cv_$1_dependencies_compiler_type=none
fi fi
]) ])
$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type" AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
AC_SUBST([$1DEPMODE])
]) ])
@ -868,7 +1066,7 @@ else
DEPDIR=_deps DEPDIR=_deps
fi fi
rmdir .deps 2>/dev/null rmdir .deps 2>/dev/null
AC_SUBST(DEPDIR) AC_SUBST([DEPDIR])
]) ])
@ -883,30 +1081,48 @@ if test "x$enable_dependency_tracking" != xno; then
AMDEPBACKSLASH='\' AMDEPBACKSLASH='\'
fi fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
pushdef([subst], defn([AC_SUBST])) AC_SUBST([AMDEPBACKSLASH])
subst(AMDEPBACKSLASH)
popdef([subst])
]) ])
# Generate code to set up dependency tracking. # Generate code to set up dependency tracking. -*- Autoconf -*-
# This macro should only be invoked once -- use via AC_REQUIRE.
# Usage:
# AM_OUTPUT_DEPENDENCY_COMMANDS
# # Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
# This code is only required when automatic dependency tracking
# is enabled. FIXME. This creates each `.P' file that we will # This program is free software; you can redistribute it and/or modify
# need in order to bootstrap the dependency handling code. # it under the terms of the GNU General Public License as published by
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[ # the Free Software Foundation; either version 2, or (at your option)
AC_OUTPUT_COMMANDS([ # any later version.
test x"$AMDEP_TRUE" != x"" ||
for mf in $CONFIG_FILES; do # This program is distributed in the hope that it will be useful,
case "$mf" in # but WITHOUT ANY WARRANTY; without even the implied warranty of
Makefile) dirpart=.;; # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
*/Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;; # GNU General Public License for more details.
*) continue;;
esac # You should have received a copy of the GNU General Public License
grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue # along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
#serial 2
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[for mf in $CONFIG_FILES; do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
# We used to match only the files named `Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
# So let's grep whole file.
if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
dirpart=`AS_DIRNAME("$mf")`
else
continue
fi
grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
# Extract the definition of DEP_FILES from the Makefile without # Extract the definition of DEP_FILES from the Makefile without
# running `make'. # running `make'.
DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
@ -930,14 +1146,46 @@ for mf in $CONFIG_FILES; do
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists. # Make sure the directory exists.
test -f "$dirpart/$file" && continue test -f "$dirpart/$file" && continue
fdir=`echo "$file" | sed -e 's|/[^/]*$||'` fdir=`AS_DIRNAME(["$file"])`
$ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1 AS_MKDIR_P([$dirpart/$fdir])
# echo "creating $dirpart/$file" # echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file" echo '# dummy' > "$dirpart/$file"
done done
done done
], [AMDEP_TRUE="$AMDEP_TRUE" ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
ac_aux_dir="$ac_aux_dir"])])
# AM_OUTPUT_DEPENDENCY_COMMANDS
# -----------------------------
# This macro should only be invoked once -- use via AC_REQUIRE.
#
# This code is only required when automatic dependency tracking
# is enabled. FIXME. This creates each `.P' file that we will
# need in order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
# Copyright 2001 Free Software Foundation, Inc. -*- Autoconf -*-
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 2
# AM_MAKE_INCLUDE() # AM_MAKE_INCLUDE()
# ----------------- # -----------------
@ -950,7 +1198,7 @@ doit:
END END
# If we don't find an include directive, just comment out the code. # If we don't find an include directive, just comment out the code.
AC_MSG_CHECKING([for style of include used by $am_make]) AC_MSG_CHECKING([for style of include used by $am_make])
am__include='#' am__include="#"
am__quote= am__quote=
_am_result=none _am_result=none
# First try GNU make style include. # First try GNU make style include.
@ -970,7 +1218,7 @@ if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf echo '.include "confinc"' > confmf
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
am__include=.include am__include=.include
am__quote='"' am__quote="\""
_am_result=BSD _am_result=BSD
fi fi
fi fi
@ -980,23 +1228,35 @@ AC_MSG_RESULT($_am_result)
rm -f confinc confmf rm -f confinc confmf
]) ])
# serial 3 # AM_CONDITIONAL -*- Autoconf -*-
# Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 5
AC_PREREQ(2.52)
# AM_CONDITIONAL(NAME, SHELL-CONDITION) # AM_CONDITIONAL(NAME, SHELL-CONDITION)
# ------------------------------------- # -------------------------------------
# Define a conditional. # Define a conditional.
#
# FIXME: Once using 2.50, use this:
# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_DEFUN([AM_CONDITIONAL], AC_DEFUN([AM_CONDITIONAL],
[ifelse([$1], [TRUE], [ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
[errprint(__file__:__line__: [$0: invalid condition: $1 [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
])dnl
m4exit(1)])dnl
ifelse([$1], [FALSE],
[errprint(__file__:__line__: [$0: invalid condition: $1
])dnl
m4exit(1)])dnl
AC_SUBST([$1_TRUE]) AC_SUBST([$1_TRUE])
AC_SUBST([$1_FALSE]) AC_SUBST([$1_FALSE])
if $2; then if $2; then
@ -1005,72 +1265,88 @@ if $2; then
else else
$1_TRUE='#' $1_TRUE='#'
$1_FALSE= $1_FALSE=
fi]) fi
AC_CONFIG_COMMANDS_PRE(
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
AC_MSG_ERROR([conditional \"$1\" was never defined.
Usually this means the macro was only invoked conditionally.])
fi])])
# Like AC_CONFIG_HEADER, but automatically create stamp file. # Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
# serial 3 # Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_PREREQ([2.52])
# serial 6
# When config.status generates a header, we must update the stamp-h file. # When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header # This file resides in the same directory as the config header
# that is generated. We must strip everything past the first ":", # that is generated. We must strip everything past the first ":",
# and everything past the last "/". # and everything past the last "/".
AC_PREREQ([2.12])
AC_DEFUN([AM_CONFIG_HEADER],
[ifdef([AC_FOREACH],dnl
[dnl init our file count if it isn't already
m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0]))
dnl prepare to store our destination file list for use in config.status
AC_FOREACH([_AM_File], [$1],
[m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*]))
m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index))
dnl and add it to the list of files AC keeps track of, along
dnl with our hook
AC_CONFIG_HEADERS(_AM_File,
dnl COMMANDS, [, INIT-CMDS]
[# update the timestamp
echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index["
][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS
m4_popdef([_AM_Dest])])],dnl
[AC_CONFIG_HEADER([$1])
AC_OUTPUT_COMMANDS(
ifelse(patsubst([$1], [[^ ]], []),
[],
[test -z "$CONFIG_HEADERS" || echo timestamp >dnl
patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl
[am_indx=1
for am_file in $1; do
case " \$CONFIG_HEADERS " in
*" \$am_file "*)
am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\`
if test -n "\$am_dir"; then
am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\`
for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do
am_tmpdir=\$am_tmpdir\$am_subdir/
if test ! -d \$am_tmpdir; then
mkdir \$am_tmpdir
fi
done
fi
echo timestamp > "\$am_dir"stamp-h\$am_indx
;;
esac
am_indx=\`expr \$am_indx + 1\`
done])
])]) # AM_CONFIG_HEADER
# _AM_DIRNAME(PATH) # _AM_DIRNAME(PATH)
# ----------------- # -----------------
# Like AS_DIRNAME, only do it during macro expansion # Like AS_DIRNAME, only do it during macro expansion
AC_DEFUN([_AM_DIRNAME], AC_DEFUN([_AM_DIRNAME],
[m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1, [m4_if(regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1, m4_if(regexp([$1], [^//\([^/]\|$\)]), -1,
m4_if(m4_regexp([$1], [^/.*]), -1, m4_if(regexp([$1], [^/.*]), -1,
[.], [.],
m4_patsubst([$1], [^\(/\).*], [\1])), patsubst([$1], [^\(/\).*], [\1])),
m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])), patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
]) # _AM_DIRNAME ])# _AM_DIRNAME
# The stamp files are numbered to have different names.
# We could number them on a directory basis, but that's additional
# complications, let's have a unique counter.
m4_define([_AM_STAMP_Count], [0])
# _AM_STAMP(HEADER)
# -----------------
# The name of the stamp file for HEADER.
AC_DEFUN([_AM_STAMP],
[m4_define([_AM_STAMP_Count], m4_incr(_AM_STAMP_Count))dnl
AS_ESCAPE(_AM_DIRNAME(patsubst([$1],
[:.*])))/stamp-h[]_AM_STAMP_Count])
# _AM_CONFIG_HEADER(HEADER[:SOURCES], COMMANDS, INIT-COMMANDS)
# ------------------------------------------------------------
# We used to try to get a real timestamp in stamp-h. But the fear is that
# that will cause unnecessary cvs conflicts.
AC_DEFUN([_AM_CONFIG_HEADER],
[# Add the stamp file to the list of files AC keeps track of,
# along with our hook.
AC_CONFIG_HEADERS([$1],
[# update the timestamp
echo 'timestamp for $1' >"_AM_STAMP([$1])"
$2],
[$3])
])# _AM_CONFIG_HEADER
# AM_CONFIG_HEADER(HEADER[:SOURCES]..., COMMANDS, INIT-COMMANDS)
# --------------------------------------------------------------
AC_DEFUN([AM_CONFIG_HEADER],
[AC_FOREACH([_AM_File], [$1], [_AM_CONFIG_HEADER(_AM_File, [$2], [$3])])
])# AM_CONFIG_HEADER

@ -1,6 +1,7 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am. # Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -12,7 +13,6 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
@SET_MAKE@ @SET_MAKE@
SHELL = @SHELL@ SHELL = @SHELL@
srcdir = @srcdir@ srcdir = @srcdir@
@ -43,9 +43,13 @@ AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA) INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@ transform = @program_transform_name@
@ -55,18 +59,21 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AWK = @AWK@ AWK = @AWK@
CC = @CC@ CC = @CC@
CCLD = @CCLD@ CCLD = @CCLD@
CXX = @CXX@ CXX = @CXX@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
RANLIB = @RANLIB@ RANLIB = @RANLIB@
RPMSOURCEDIR = @RPMSOURCEDIR@ RPMSOURCEDIR = @RPMSOURCEDIR@
STRIP = @STRIP@
VERSION = @VERSION@ VERSION = @VERSION@
X_CFLAGS = @X_CFLAGS@ X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
@ -75,7 +82,6 @@ X_PRE_LIBS = @X_PRE_LIBS@
am__include = @am__include@ am__include = @am__include@
am__quote = @am__quote@ am__quote = @am__quote@
install_sh = @install_sh@ install_sh = @install_sh@
EXTRA_DIST = VncViewer.jar index.vnc javaviewer.pseudo_proxy.patch EXTRA_DIST = VncViewer.jar index.vnc javaviewer.pseudo_proxy.patch
subdir = classes subdir = classes
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -90,29 +96,31 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu classes/Makefile $(AUTOMAKE) --gnu classes/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
uninstall-info-am: uninstall-info-am:
tags: TAGS tags: TAGS
TAGS: TAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .. top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \ fi; \
if test -d $$d/$$file; then \ if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|| exit 1; \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \ else \
test -f $(distdir)/$$file \ test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \
@ -136,6 +144,7 @@ install-am: all-am
installcheck: installcheck-am installcheck: installcheck-am
install-strip: install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \ `test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic: mostlyclean-generic:
@ -143,7 +152,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"

4507
configure vendored

File diff suppressed because it is too large Load Diff

@ -122,6 +122,8 @@ AC_CONFIG_FILES([Makefile
examples/Makefile examples/Makefile
vncterm/Makefile vncterm/Makefile
classes/Makefile classes/Makefile
libvncclient/Makefile
test/Makefile
libvncserver.spec libvncserver.spec
libvncserver-config]) libvncserver-config])
AC_OUTPUT AC_OUTPUT

@ -1,6 +1,7 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am. # Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -12,7 +13,6 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
@SET_MAKE@ @SET_MAKE@
SHELL = @SHELL@ SHELL = @SHELL@
srcdir = @srcdir@ srcdir = @srcdir@
@ -43,9 +43,13 @@ AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA) INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@ transform = @program_transform_name@
@ -55,18 +59,21 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AWK = @AWK@ AWK = @AWK@
CC = @CC@ CC = @CC@
CCLD = @CCLD@ CCLD = @CCLD@
CXX = @CXX@ CXX = @CXX@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
RANLIB = @RANLIB@ RANLIB = @RANLIB@
RPMSOURCEDIR = @RPMSOURCEDIR@ RPMSOURCEDIR = @RPMSOURCEDIR@
STRIP = @STRIP@
VERSION = @VERSION@ VERSION = @VERSION@
X_CFLAGS = @X_CFLAGS@ X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
@ -75,7 +82,6 @@ X_PRE_LIBS = @X_PRE_LIBS@
am__include = @am__include@ am__include = @am__include@
am__quote = @am__quote@ am__quote = @am__quote@
install_sh = @install_sh@ install_sh = @install_sh@
CFLAGS = -I .. CFLAGS = -I ..
LDADD = ../libvncserver.a LDADD = ../libvncserver.a
@ -97,7 +103,6 @@ noinst_PROGRAMS = zippy$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
@HAVE_X_TRUE@am_x11vnc_OBJECTS = x11vnc.$(OBJEXT) @HAVE_X_TRUE@am_x11vnc_OBJECTS = x11vnc.$(OBJEXT)
@HAVE_X_FALSE@am_x11vnc_OBJECTS =
x11vnc_OBJECTS = $(am_x11vnc_OBJECTS) x11vnc_OBJECTS = $(am_x11vnc_OBJECTS)
@HAVE_X_TRUE@x11vnc_DEPENDENCIES = ../libvncserver.a @HAVE_X_TRUE@x11vnc_DEPENDENCIES = ../libvncserver.a
@HAVE_X_FALSE@x11vnc_DEPENDENCIES = @HAVE_X_FALSE@x11vnc_DEPENDENCIES =
@ -114,7 +119,8 @@ CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBS = @LIBS@ LIBS = @LIBS@
depcomp = $(SHELL) $(top_srcdir)/depcomp depcomp = $(SHELL) $(top_srcdir)/depcomp
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/x11vnc.Po $(DEPDIR)/zippy.Po am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/x11vnc.Po ./$(DEPDIR)/zippy.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
@ -130,9 +136,8 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu contrib/Makefile $(AUTOMAKE) --gnu contrib/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
CONFIG_HEADERS= CONFIG_LINKS= \ binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
install-binPROGRAMS: $(bin_PROGRAMS) install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir) $(mkinstalldirs) $(DESTDIR)$(bindir)
@ -140,16 +145,16 @@ install-binPROGRAMS: $(bin_PROGRAMS)
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \ if test -f $$p \
; then \ ; then \
f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \ echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \ $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \
else :; fi; \ else :; fi; \
done done
uninstall-binPROGRAMS: uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; for p in $$list; do \ @list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
rm -f $(DESTDIR)$(bindir)/$$f; \ rm -f $(DESTDIR)$(bindir)/$$f; \
done done
@ -172,17 +177,17 @@ mostlyclean-compile:
distclean-compile: distclean-compile:
-rm -f *.tab.c -rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/x11vnc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x11vnc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/zippy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zippy.Po@am__quote@
distclean-depend: distclean-depend:
-rm -rf $(DEPDIR) -rm -rf ./$(DEPDIR)
.c.o: .c.o:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$< $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj: .c.obj:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@ -192,53 +197,61 @@ distclean-depend:
CCDEPMODE = @CCDEPMODE@ CCDEPMODE = @CCDEPMODE@
uninstall-info-am: uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
tags: TAGS tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique $(LISP) mkid -fID $$unique
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP) || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS: GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \ here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \ && cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here && gtags -i $(GTAGS_ARGS) $$here
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .. top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \ fi; \
if test -d $$d/$$file; then \ if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|| exit 1; \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \ else \
test -f $(distdir)/$$file \ test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \
@ -263,6 +276,7 @@ install-am: all-am
installcheck: installcheck-am installcheck: installcheck-am
install-strip: install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \ `test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic: mostlyclean-generic:
@ -270,7 +284,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"

@ -414,7 +414,7 @@ void initialize_keycodes() {
void DebugXTestFakeKeyEvent(Display* dpy, KeyCode keysym, Bool down, time_t cur_time) void DebugXTestFakeKeyEvent(Display* dpy, KeyCode keysym, Bool down, time_t cur_time)
{ {
fprintf(stderr,"XTestFakeKeyEvent(dpy,%s(0x%x),%s,CurrentTime)\n", rfbLog("XTestFakeKeyEvent(dpy,%s(0x%x),%s,CurrentTime)\n",
XKeysymToString(XKeycodeToKeysym(dpy,keysym,0)),keysym, XKeysymToString(XKeycodeToKeysym(dpy,keysym,0)),keysym,
down?"down":"up"); down?"down":"up");
XTestFakeKeyEvent(dpy,keysym,down,cur_time); XTestFakeKeyEvent(dpy,keysym,down,cur_time);
@ -500,7 +500,7 @@ static void keyboard(Bool down, KeySym keysym, rfbClientPtr client) {
if (0) { if (0) {
X_LOCK; X_LOCK;
fprintf(stderr,"keyboard(%s,%s(0x%x),client)\n", rfbLog("keyboard(%s,%s(0x%x),client)\n",
down?"down":"up",XKeysymToString(keysym),(int)keysym); down?"down":"up",XKeysymToString(keysym),(int)keysym);
X_UNLOCK; X_UNLOCK;
} }
@ -1153,7 +1153,7 @@ void shm_create(XShmSegmentInfo *shm, XImage **ximg_ptr, int w, int h,
xim = XShmCreateImage(dpy, visual, bpp, ZPixmap, NULL, shm, w, h); xim = XShmCreateImage(dpy, visual, bpp, ZPixmap, NULL, shm, w, h);
if (xim == NULL) { if (xim == NULL) {
fprintf(stderr, "XShmCreateImage(%s) failed.\n", name); rfbLog( "XShmCreateImage(%s) failed.\n", name);
exit(1); exit(1);
} }
@ -1163,7 +1163,7 @@ void shm_create(XShmSegmentInfo *shm, XImage **ximg_ptr, int w, int h,
xim->bytes_per_line * xim->height, IPC_CREAT | 0777); xim->bytes_per_line * xim->height, IPC_CREAT | 0777);
if (shm->shmid == -1) { if (shm->shmid == -1) {
fprintf(stderr, "shmget(%s) failed.\n", name); rfbLog("shmget(%s) failed.\n", name);
perror("shmget"); perror("shmget");
exit(1); exit(1);
} }
@ -1171,7 +1171,7 @@ void shm_create(XShmSegmentInfo *shm, XImage **ximg_ptr, int w, int h,
shm->shmaddr = xim->data = (char *) shmat(shm->shmid, 0, 0); shm->shmaddr = xim->data = (char *) shmat(shm->shmid, 0, 0);
if (shm->shmaddr == (char *)-1) { if (shm->shmaddr == (char *)-1) {
fprintf(stderr, "shmat(%s) failed.\n", name); rfbLog("shmat(%s) failed.\n", name);
perror("shmat"); perror("shmat");
exit(1); exit(1);
} }
@ -1179,7 +1179,7 @@ void shm_create(XShmSegmentInfo *shm, XImage **ximg_ptr, int w, int h,
shm->readOnly = False; shm->readOnly = False;
if (! XShmAttach(dpy, shm)) { if (! XShmAttach(dpy, shm)) {
fprintf(stderr, "XShmAttach(%s) failed.\n", name); rfbLog("XShmAttach(%s) failed.\n", name);
exit(1); exit(1);
} }

@ -148,7 +148,7 @@ void on_key_press (Bool down,KeySym key,rfbClientPtr cl)
blank_framebuffer(cl->screen->frameBuffer, 0, 0, maxx, maxy); blank_framebuffer(cl->screen->frameBuffer, 0, 0, maxx, maxy);
rfbDrawString(cl->screen,&default8x16Font,20,maxy-20,"Hello, World!",0xffffff); rfbDrawString(cl->screen,&default8x16Font,20,maxy-20,"Hello, World!",0xffffff);
rfbMarkRectAsModified(cl->screen,0, 0,maxx,maxy); rfbMarkRectAsModified(cl->screen,0, 0,maxx,maxy);
fprintf (stderr, "Framebuffer blanked\n"); rfbLog("Framebuffer blanked\n");
break; break;
case XK_p: case XK_p:
case XK_P: case XK_P:
@ -156,11 +156,11 @@ void on_key_press (Bool down,KeySym key,rfbClientPtr cl)
/* draw_primary_colors (cl->screen->frameBuffer, 0, 0, maxx, maxy); */ /* draw_primary_colors (cl->screen->frameBuffer, 0, 0, maxx, maxy); */
draw_primary_colours_generic_ultrafast (cl->screen, 0, 0, maxx, maxy); draw_primary_colours_generic_ultrafast (cl->screen, 0, 0, maxx, maxy);
rfbMarkRectAsModified(cl->screen,0, 0,maxx,maxy); rfbMarkRectAsModified(cl->screen,0, 0,maxx,maxy);
fprintf (stderr, "Primary colors displayed\n"); rfbLog("Primary colors displayed\n");
break; break;
case XK_Q: case XK_Q:
case XK_q: case XK_q:
fprintf (stderr, "Exiting now\n"); rfbLog("Exiting now\n");
exit(0); exit(0);
case XK_C: case XK_C:
case XK_c: case XK_c:
@ -169,7 +169,7 @@ void on_key_press (Bool down,KeySym key,rfbClientPtr cl)
rfbMarkRectAsModified(cl->screen,0, 0,maxx,maxy); rfbMarkRectAsModified(cl->screen,0, 0,maxx,maxy);
break; break;
default: default:
fprintf (stderr, "The %c key was pressed\n", (char) key); rfbLog("The %c key was pressed\n", (char) key);
} }
} }

@ -68,7 +68,7 @@ int get_next_message(char* buffer,int len,single_instance_struct* str,int usecs)
} }
buffer[reallen]=0; buffer[reallen]=0;
#ifdef DEBUG_1INSTANCE #ifdef DEBUG_1INSTANCE
if(reallen!=0) fprintf(stderr,"message received: %s.\n",buffer); if(reallen!=0) rfbLog("message received: %s.\n",buffer);
#endif #endif
} }
@ -104,7 +104,7 @@ void send_message(single_instance_struct* str,char* message)
#endif #endif
write(str->fd,message,strlen(message)); write(str->fd,message,strlen(message));
#ifdef DEBUG_1INSTANCE #ifdef DEBUG_1INSTANCE
fprintf(stderr,"send: %s => %d(%d)\n",message,i,strlen(message)); rfbLog("send: %s => %d(%d)\n",message,i,strlen(message));
#endif #endif
} }
@ -118,7 +118,7 @@ single_instance_struct str1 = { "/tmp/1instance" };
void my_dispatcher(char* message) void my_dispatcher(char* message)
{ {
#ifdef DEBUG_1INSTANCE #ifdef DEBUG_1INSTANCE
fprintf(stderr,"Message arrived: %s.\n",message); rfbLog("Message arrived: %s.\n",message);
#endif #endif
if(!strcmp(message,"quit")) { if(!strcmp(message,"quit")) {
delete_control_file(str1); delete_control_file(str1);

@ -1,6 +1,7 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am. # Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -12,7 +13,6 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
@SET_MAKE@ @SET_MAKE@
SHELL = @SHELL@ SHELL = @SHELL@
srcdir = @srcdir@ srcdir = @srcdir@
@ -43,9 +43,13 @@ AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA) INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@ transform = @program_transform_name@
@ -55,18 +59,21 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AWK = @AWK@ AWK = @AWK@
CC = @CC@ CC = @CC@
CCLD = @CCLD@ CCLD = @CCLD@
CXX = @CXX@ CXX = @CXX@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
RANLIB = @RANLIB@ RANLIB = @RANLIB@
RPMSOURCEDIR = @RPMSOURCEDIR@ RPMSOURCEDIR = @RPMSOURCEDIR@
STRIP = @STRIP@
VERSION = @VERSION@ VERSION = @VERSION@
X_CFLAGS = @X_CFLAGS@ X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
@ -75,7 +82,6 @@ X_PRE_LIBS = @X_PRE_LIBS@
am__include = @am__include@ am__include = @am__include@
am__quote = @am__quote@ am__quote = @am__quote@
install_sh = @install_sh@ install_sh = @install_sh@
CFLAGS = -I.. -g -Wall CFLAGS = -I.. -g -Wall
@HAVE_LIBPTHREAD_TRUE@BACKGROUND_TEST = blooptest @HAVE_LIBPTHREAD_TRUE@BACKGROUND_TEST = blooptest
@ -203,13 +209,14 @@ CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBS = @LIBS@ LIBS = @LIBS@
depcomp = $(SHELL) $(top_srcdir)/depcomp depcomp = $(SHELL) $(top_srcdir)/depcomp
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/blooptest.Po \ am__depfiles_maybe = depfiles
@AMDEP_TRUE@ $(DEPDIR)/colourmaptest.Po $(DEPDIR)/example.Po \ @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/blooptest.Po \
@AMDEP_TRUE@ $(DEPDIR)/fontsel.Po $(DEPDIR)/mac.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/colourmaptest.Po ./$(DEPDIR)/example.Po \
@AMDEP_TRUE@ $(DEPDIR)/pnmshow.Po $(DEPDIR)/pnmshow24.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/fontsel.Po ./$(DEPDIR)/mac.Po \
@AMDEP_TRUE@ $(DEPDIR)/regiontest.Po $(DEPDIR)/simple.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/pnmshow.Po ./$(DEPDIR)/pnmshow24.Po \
@AMDEP_TRUE@ $(DEPDIR)/simple15.Po $(DEPDIR)/storepasswd.Po \ @AMDEP_TRUE@ ./$(DEPDIR)/regiontest.Po ./$(DEPDIR)/simple.Po \
@AMDEP_TRUE@ $(DEPDIR)/vncev.Po @AMDEP_TRUE@ ./$(DEPDIR)/simple15.Po ./$(DEPDIR)/storepasswd.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/vncev.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
@ -229,9 +236,7 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu examples/Makefile $(AUTOMAKE) --gnu examples/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
clean-noinstPROGRAMS: clean-noinstPROGRAMS:
-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
@ -278,27 +283,27 @@ mostlyclean-compile:
distclean-compile: distclean-compile:
-rm -f *.tab.c -rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/blooptest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/blooptest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/colourmaptest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/colourmaptest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/example.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/example.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fontsel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fontsel.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mac.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mac.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pnmshow.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pnmshow.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pnmshow24.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pnmshow24.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/regiontest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regiontest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/simple.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/simple15.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple15.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/storepasswd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/storepasswd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/vncev.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vncev.Po@am__quote@
distclean-depend: distclean-depend:
-rm -rf $(DEPDIR) -rm -rf ./$(DEPDIR)
.c.o: .c.o:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$< $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj: .c.obj:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@ -308,53 +313,61 @@ distclean-depend:
CCDEPMODE = @CCDEPMODE@ CCDEPMODE = @CCDEPMODE@
uninstall-info-am: uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
tags: TAGS tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique $(LISP) mkid -fID $$unique
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP) || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS: GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \ here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \ && cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here && gtags -i $(GTAGS_ARGS) $$here
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .. top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \ fi; \
if test -d $$d/$$file; then \ if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|| exit 1; \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \ else \
test -f $(distdir)/$$file \ test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \
@ -378,6 +391,7 @@ install-am: all-am
installcheck: installcheck-am installcheck: installcheck-am
install-strip: install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \ `test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic: mostlyclean-generic:
@ -385,7 +399,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"

@ -54,7 +54,7 @@ int main(int argc,char** argv)
rfbScreen = s; rfbScreen = s;
font=rfbLoadConsoleFont(DEFAULTFONT); font=rfbLoadConsoleFont(DEFAULTFONT);
if(!font) { if(!font) {
fprintf(stderr,"Couldn't find %s\n",DEFAULTFONT); rfbLog("Couldn't find %s\n",DEFAULTFONT);
exit(1); exit(1);
} }
@ -62,7 +62,7 @@ int main(int argc,char** argv)
rfbProcessEvents(s,900000); rfbProcessEvents(s,900000);
i = rfbSelectBox(s,font,fontlist,10,20,200,300,0xffdfdf,0x602040,2,showFont); i = rfbSelectBox(s,font,fontlist,10,20,200,300,0xffdfdf,0x602040,2,showFont);
fprintf(stderr,"Selection: %d: %s\n",i,(i>=0)?fontlist[i]:"cancelled"); rfbLog("Selection: %d: %s\n",i,(i>=0)?fontlist[i]:"cancelled");
rfbFreeFont(font); rfbFreeFont(font);

@ -493,7 +493,7 @@ refreshCallback(CGRectCount count, const CGRect *rectArray, void *ignore)
rfbClientPtr cl; rfbClientPtr cl;
int i; int i;
for(i=0,cl=rfbScreen->rfbClientHead;cl;cl=cl->next,i++) for(i=0,cl=rfbScreen->rfbClientHead;cl;cl=cl->next,i++)
fprintf(stderr,"%02d: %s\n",i,cl->host); rfbLog("%02d: %s\n",i,cl->host);
} else if(message[0]=='t') { } else if(message[0]=='t') {
rfbClientPtr cl; rfbClientPtr cl;
for(cl=rfbScreen->rfbClientHead;cl;cl=cl->next) for(cl=rfbScreen->rfbClientHead;cl;cl=cl->next)
@ -556,7 +556,7 @@ int main(int argc,char *argv[])
send_message(&single_instance,message); send_message(&single_instance,message);
exit(0); exit(0);
} else if(!strcmp(argv[i],"-listclients")) { } else if(!strcmp(argv[i],"-listclients")) {
fprintf(stderr,"list clients\n"); rfbLog("list clients\n");
send_message(&single_instance,"l"); send_message(&single_instance,"l");
exit(0); exit(0);
} else } else

@ -36,7 +36,7 @@ int main(int argc,char** argv)
/* get width & height */ /* get width & height */
sscanf(buffer,"%d %d",&width,&height); sscanf(buffer,"%d %d",&width,&height);
fprintf(stderr,"Got width %d and height %d.\n",width,height); rfbLog("Got width %d and height %d.\n",width,height);
fgets(buffer,1024,in); fgets(buffer,1024,in);
/* vncviewers have problems with widths which are no multiple of 4. */ /* vncviewers have problems with widths which are no multiple of 4. */

@ -40,7 +40,7 @@ int main(int argc,char** argv)
/* get width & height */ /* get width & height */
sscanf(buffer,"%d %d",&width,&height); sscanf(buffer,"%d %d",&width,&height);
fprintf(stderr,"Got width %d and height %d.\n",width,height); rfbLog("Got width %d and height %d.\n",width,height);
fgets(buffer,1024,in); fgets(buffer,1024,in);
/* vncviewers have problems with widths which are no multiple of 4. */ /* vncviewers have problems with widths which are no multiple of 4. */

@ -63,7 +63,7 @@ void output(rfbScreenInfoPtr s,char* line)
{ {
rfbDoCopyRect(s,0,0,640,480-lineHeight,0,-lineHeight); rfbDoCopyRect(s,0,0,640,480-lineHeight,0,-lineHeight);
rfbDrawString(s,&default8x16Font,10,lineY,line,0x01); rfbDrawString(s,&default8x16Font,10,lineY,line,0x01);
fprintf(stderr,"%s\n",line); rfbLog("%s\n",line);
} }
void dokey(Bool down,KeySym k,rfbClientPtr cl) void dokey(Bool down,KeySym k,rfbClientPtr cl)

@ -1,17 +1,365 @@
CFLAGS=-g -I.. -I. -Wall # Makefile.in generated by automake 1.6.3 from Makefile.am.
LDLIBS=-lz -ljpeg # libvncclient/Makefile. Generated from Makefile.in by configure.
OBJS=cursor.o listen.o rfbproto.o sockets.o vncviewer.o ../libvncserver.a # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
all: libvncclient.a # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
rfbproto.o: rfbproto.c corre.c hextile.c rre.c tight.c zlib.c
$(OBJS): ../rfb/rfbclient.h SHELL = /bin/sh
srcdir = .
top_srcdir = ..
prefix = /usr/local
exec_prefix = ${prefix}
bindir = ${exec_prefix}/bin
sbindir = ${exec_prefix}/sbin
libexecdir = ${exec_prefix}/libexec
datadir = ${prefix}/share
sysconfdir = ${prefix}/etc
sharedstatedir = ${prefix}/com
localstatedir = ${prefix}/var
libdir = ${exec_prefix}/lib
infodir = ${prefix}/info
mandir = ${prefix}/man
includedir = ${prefix}/include
oldincludedir = /usr/include
pkgdatadir = $(datadir)/LibVNCServer
pkglibdir = $(libdir)/LibVNCServer
pkgincludedir = $(includedir)/LibVNCServer
top_builddir = ..
ACLOCAL = ${SHELL} /my/libvncserver/missing --run aclocal-1.6
AUTOCONF = ${SHELL} /my/libvncserver/missing --run autoconf
AUTOMAKE = ${SHELL} /my/libvncserver/missing --run automake-1.6
AUTOHEADER = ${SHELL} /my/libvncserver/missing --run autoheader
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = /usr/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
INSTALL_DATA = ${INSTALL} -m 644
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = ${INSTALL}
INSTALL_HEADER = $(INSTALL_DATA)
transform = s,x,x,
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
EXEEXT =
OBJEXT = o
PATH_SEPARATOR = :
AMTAR = ${SHELL} /my/libvncserver/missing --run tar
AWK = gawk
CC = gcc
CCLD = g++
CXX = g++
DEPDIR = .deps
INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
PACKAGE = LibVNCServer
RANLIB = ranlib
RPMSOURCEDIR = /usr/src/packages/SOURCES/
STRIP =
VERSION = 0.6pre
X_CFLAGS = -I/usr/X11R6/include
X_EXTRA_LIBS =
X_LIBS = -L/usr/X11R6/lib -lXtst -lXext -lX11
X_PRE_LIBS = -lSM -lICE
am__include = include
am__quote =
install_sh = /my/libvncserver/install-sh
CFLAGS = -g -I.. -I. -Wall
libvncclient_a_SOURCES = cursor.c listen.c rfbproto.c sockets.c vncviewer.c
EXTRA_DIST = corre.c hextile.c rre.c tight.c zlib.c
lib_LIBRARIES = libvncclient.a
client_test_SOURCES = client_test.c
noinst_PROGRAMS = client_test
#client_test_LDADD=libvncclient.a ../libvncserver.a
client_test_LDADD = libvncclient.a
subdir = libvncclient
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/rfb/rfbconfig.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(lib_LIBRARIES)
libvncclient_a_AR = $(AR) cru
libvncclient_a_LIBADD =
am_libvncclient_a_OBJECTS = cursor.$(OBJEXT) listen.$(OBJEXT) \
rfbproto.$(OBJEXT) sockets.$(OBJEXT) vncviewer.$(OBJEXT)
libvncclient_a_OBJECTS = $(am_libvncclient_a_OBJECTS)
noinst_PROGRAMS = client_test$(EXEEXT)
PROGRAMS = $(noinst_PROGRAMS)
am_client_test_OBJECTS = client_test.$(OBJEXT)
client_test_OBJECTS = $(am_client_test_OBJECTS)
client_test_DEPENDENCIES = libvncclient.a
client_test_LDFLAGS =
DEFS = -DHAVE_CONFIG_H
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/rfb
CPPFLAGS =
LDFLAGS =
LIBS = -lnsl -lz -lpthread -ljpeg
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
DEP_FILES = ./$(DEPDIR)/client_test.Po ./$(DEPDIR)/cursor.Po \
./$(DEPDIR)/listen.Po ./$(DEPDIR)/rfbproto.Po \
./$(DEPDIR)/sockets.Po ./$(DEPDIR)/vncviewer.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(libvncclient_a_SOURCES) $(client_test_SOURCES)
DIST_COMMON = Makefile.am Makefile.in
SOURCES = $(libvncclient_a_SOURCES) $(client_test_SOURCES)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu libvncclient/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
AR = ar
libLIBRARIES_INSTALL = $(INSTALL_DATA)
install-libLIBRARIES: $(lib_LIBRARIES)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(libdir)
@list='$(lib_LIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(libLIBRARIES_INSTALL) $$p $(DESTDIR)$(libdir)/$$f"; \
$(libLIBRARIES_INSTALL) $$p $(DESTDIR)$(libdir)/$$f; \
else :; fi; \
done
@$(POST_INSTALL)
@list='$(lib_LIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
p="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(RANLIB) $(DESTDIR)$(libdir)/$$p"; \
$(RANLIB) $(DESTDIR)$(libdir)/$$p; \
else :; fi; \
done
uninstall-libLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(lib_LIBRARIES)'; for p in $$list; do \
p="`echo $$p | sed -e 's|^.*/||'`"; \
echo " rm -f $(DESTDIR)$(libdir)/$$p"; \
rm -f $(DESTDIR)$(libdir)/$$p; \
done
clean-libLIBRARIES:
-test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
libvncclient.a: $(libvncclient_a_OBJECTS) $(libvncclient_a_DEPENDENCIES)
-rm -f libvncclient.a
$(libvncclient_a_AR) libvncclient.a $(libvncclient_a_OBJECTS) $(libvncclient_a_LIBADD)
$(RANLIB) libvncclient.a
clean-noinstPROGRAMS:
-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
client_test$(EXEEXT): $(client_test_OBJECTS) $(client_test_DEPENDENCIES)
@rm -f client_test$(EXEEXT)
$(LINK) $(client_test_LDFLAGS) $(client_test_OBJECTS) $(client_test_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core
distclean-compile:
-rm -f *.tab.c
include ./$(DEPDIR)/client_test.Po
include ./$(DEPDIR)/cursor.Po
include ./$(DEPDIR)/listen.Po
include ./$(DEPDIR)/rfbproto.Po
include ./$(DEPDIR)/sockets.Po
include ./$(DEPDIR)/vncviewer.Po
distclean-depend:
-rm -rf ./$(DEPDIR)
.c.o:
source='$<' object='$@' libtool=no \
depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \
$(CCDEPMODE) $(depcomp) \
$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
source='$<' object='$@' libtool=no \
depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \
$(CCDEPMODE) $(depcomp) \
$(COMPILE) -c `cygpath -w $<`
CCDEPMODE = depmode=gcc3
uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
libvncclient.a: $(OBJS) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS) $(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
clean: GTAGS:
rm *.o *.a here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(LIBRARIES) $(PROGRAMS)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(libdir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libLIBRARIES clean-noinstPROGRAMS \
mostlyclean-am
distclean: distclean-am
distclean-am: clean-am distclean-compile distclean-depend \
distclean-generic distclean-tags
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am:
install-exec-am: install-libLIBRARIES
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
uninstall-am: uninstall-info-am uninstall-libLIBRARIES
.PHONY: GTAGS all all-am check check-am clean clean-generic \
clean-libLIBRARIES clean-noinstPROGRAMS distclean \
distclean-compile distclean-depend distclean-generic \
distclean-tags distdir dvi dvi-am info info-am install \
install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am \
install-libLIBRARIES install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic tags uninstall uninstall-am \
uninstall-info-am uninstall-libLIBRARIES
rfbproto.o: rfbproto.c corre.c hextile.c rre.c tight.c zlib.c
$(libvncclient_a_OBJECTS): ../rfb/rfbclient.h
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

@ -0,0 +1,18 @@
CFLAGS=-g -I.. -I. -Wall
libvncclient_a_SOURCES=cursor.c listen.c rfbproto.c sockets.c vncviewer.c
rfbproto.o: rfbproto.c corre.c hextile.c rre.c tight.c zlib.c
EXTRA_DIST=corre.c hextile.c rre.c tight.c zlib.c
$(libvncclient_a_OBJECTS): ../rfb/rfbclient.h
lib_LIBRARIES=libvncclient.a
client_test_SOURCES=client_test.c
noinst_PROGRAMS=client_test
#client_test_LDADD=libvncclient.a ../libvncserver.a
client_test_LDADD=libvncclient.a

@ -0,0 +1,365 @@
# Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
CC = @CC@
CCLD = @CCLD@
CXX = @CXX@
DEPDIR = @DEPDIR@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
PACKAGE = @PACKAGE@
RANLIB = @RANLIB@
RPMSOURCEDIR = @RPMSOURCEDIR@
STRIP = @STRIP@
VERSION = @VERSION@
X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
CFLAGS = -g -I.. -I. -Wall
libvncclient_a_SOURCES = cursor.c listen.c rfbproto.c sockets.c vncviewer.c
EXTRA_DIST = corre.c hextile.c rre.c tight.c zlib.c
lib_LIBRARIES = libvncclient.a
client_test_SOURCES = client_test.c
noinst_PROGRAMS = client_test
#client_test_LDADD=libvncclient.a ../libvncserver.a
client_test_LDADD = libvncclient.a
subdir = libvncclient
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/rfb/rfbconfig.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(lib_LIBRARIES)
libvncclient_a_AR = $(AR) cru
libvncclient_a_LIBADD =
am_libvncclient_a_OBJECTS = cursor.$(OBJEXT) listen.$(OBJEXT) \
rfbproto.$(OBJEXT) sockets.$(OBJEXT) vncviewer.$(OBJEXT)
libvncclient_a_OBJECTS = $(am_libvncclient_a_OBJECTS)
noinst_PROGRAMS = client_test$(EXEEXT)
PROGRAMS = $(noinst_PROGRAMS)
am_client_test_OBJECTS = client_test.$(OBJEXT)
client_test_OBJECTS = $(am_client_test_OBJECTS)
client_test_DEPENDENCIES = libvncclient.a
client_test_LDFLAGS =
DEFS = @DEFS@
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/rfb
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/client_test.Po ./$(DEPDIR)/cursor.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/listen.Po ./$(DEPDIR)/rfbproto.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/sockets.Po ./$(DEPDIR)/vncviewer.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(libvncclient_a_SOURCES) $(client_test_SOURCES)
DIST_COMMON = Makefile.am Makefile.in
SOURCES = $(libvncclient_a_SOURCES) $(client_test_SOURCES)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu libvncclient/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
AR = ar
libLIBRARIES_INSTALL = $(INSTALL_DATA)
install-libLIBRARIES: $(lib_LIBRARIES)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(libdir)
@list='$(lib_LIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(libLIBRARIES_INSTALL) $$p $(DESTDIR)$(libdir)/$$f"; \
$(libLIBRARIES_INSTALL) $$p $(DESTDIR)$(libdir)/$$f; \
else :; fi; \
done
@$(POST_INSTALL)
@list='$(lib_LIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
p="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(RANLIB) $(DESTDIR)$(libdir)/$$p"; \
$(RANLIB) $(DESTDIR)$(libdir)/$$p; \
else :; fi; \
done
uninstall-libLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(lib_LIBRARIES)'; for p in $$list; do \
p="`echo $$p | sed -e 's|^.*/||'`"; \
echo " rm -f $(DESTDIR)$(libdir)/$$p"; \
rm -f $(DESTDIR)$(libdir)/$$p; \
done
clean-libLIBRARIES:
-test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
libvncclient.a: $(libvncclient_a_OBJECTS) $(libvncclient_a_DEPENDENCIES)
-rm -f libvncclient.a
$(libvncclient_a_AR) libvncclient.a $(libvncclient_a_OBJECTS) $(libvncclient_a_LIBADD)
$(RANLIB) libvncclient.a
clean-noinstPROGRAMS:
-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
client_test$(EXEEXT): $(client_test_OBJECTS) $(client_test_DEPENDENCIES)
@rm -f client_test$(EXEEXT)
$(LINK) $(client_test_LDFLAGS) $(client_test_OBJECTS) $(client_test_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/client_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cursor.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/listen.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rfbproto.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sockets.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vncviewer.Po@am__quote@
distclean-depend:
-rm -rf ./$(DEPDIR)
.c.o:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `cygpath -w $<`
CCDEPMODE = @CCDEPMODE@
uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(LIBRARIES) $(PROGRAMS)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(libdir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libLIBRARIES clean-noinstPROGRAMS \
mostlyclean-am
distclean: distclean-am
distclean-am: clean-am distclean-compile distclean-depend \
distclean-generic distclean-tags
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am:
install-exec-am: install-libLIBRARIES
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
uninstall-am: uninstall-info-am uninstall-libLIBRARIES
.PHONY: GTAGS all all-am check check-am clean clean-generic \
clean-libLIBRARIES clean-noinstPROGRAMS distclean \
distclean-compile distclean-depend distclean-generic \
distclean-tags distdir dvi dvi-am info info-am install \
install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am \
install-libLIBRARIES install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic tags uninstall uninstall-am \
uninstall-info-am uninstall-libLIBRARIES
rfbproto.o: rfbproto.c corre.c hextile.c rre.c tight.c zlib.c
$(libvncclient_a_OBJECTS): ../rfb/rfbclient.h
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

@ -0,0 +1,98 @@
/* A simple example of an RFB client */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <rfb/rfbclient.h>
void PrintRect(rfbClient* client, int x, int y, int w, int h) {
rfbClientLog("Received an update for %d,%d,%d,%d.\n",x,y,w,h);
}
void SaveFramebufferAsPGM(rfbClient* client, int x, int y, int w, int h) {
static time_t t=0,t1;
FILE* f;
int i,j;
int bpp=client->format.bitsPerPixel/8;
int row_stride=client->width*bpp;
/* save one picture only if the last is older than 2 seconds */
t1=time(0);
if(t1-t>2)
t=t1;
else
return;
/* assert bpp=4 */
if(bpp!=4) {
rfbClientLog("bpp = %d (!=4)\n",bpp);
return;
}
f=fopen("/tmp/framebuffer.ppm","wb");
fprintf(f,"P6\n# %s\n%d %d\n255\n",client->desktopName,client->width,client->height);
for(j=0;j<client->height*row_stride;j+=row_stride)
for(i=0;i<client->width*bpp;i+=bpp) {
if(client->format.bigEndian) {
fputc(client->frameBuffer[j+i+bpp-1],f);
fputc(client->frameBuffer[j+i+bpp-2],f);
fputc(client->frameBuffer[j+i+bpp-3],f);
} else {
fputc(client->frameBuffer[j+i+bpp+0],f);
fputc(client->frameBuffer[j+i+bpp+1],f);
fputc(client->frameBuffer[j+i+bpp+2],f);
}
}
fclose(f);
}
int
main(int argc, char **argv)
{
int i;
rfbClient* client = rfbGetClient(&argc,argv,8,3,4);
const char* vncServerHost="";
int vncServerPort=5900;
client->GotFrameBufferUpdate = PrintRect;
client->GotFrameBufferUpdate = SaveFramebufferAsPGM;
/* The -listen option is used to make us a daemon process which listens for
incoming connections from servers, rather than actively connecting to a
given server. The -tunnel and -via options are useful to create
connections tunneled via SSH port forwarding. We must test for the
-listen option before invoking any Xt functions - this is because we use
forking, and Xt doesn't seem to cope with forking very well. For -listen
option, when a successful incoming connection has been accepted,
listenForIncomingConnections() returns, setting the listenSpecified
flag. */
for (i = 1; i < argc; i++) {
if (strcmp(argv[i], "-listen") == 0) {
listenForIncomingConnections(client);
break;
} else {
char* colon=strchr(argv[i],':');
vncServerHost=argv[i];
if(colon) {
*colon=0;
vncServerPort=atoi(colon+1);
} else
vncServerPort=0;
vncServerPort+=5900;
}
}
client->appData.encodingsString="tight";
rfbInitClient(client,vncServerHost,vncServerPort);
while (1) {
if (!HandleRFBServerMessage(client))
break;
}
return 0;
}

@ -41,7 +41,7 @@ HandleCoRREBPP (rfbClient* client, int rx, int ry, int rw, int rh)
if (!ReadFromRFBServer(client, (char *)&hdr, sz_rfbRREHeader)) if (!ReadFromRFBServer(client, (char *)&hdr, sz_rfbRREHeader))
return FALSE; return FALSE;
hdr.nSubrects = Swap32IfLE(hdr.nSubrects); hdr.nSubrects = rfbClientSwap32IfLE(hdr.nSubrects);
if (!ReadFromRFBServer(client, (char *)&pix, sizeof(pix))) if (!ReadFromRFBServer(client, (char *)&pix, sizeof(pix)))
return FALSE; return FALSE;

@ -45,9 +45,9 @@ listenForIncomingConnections(rfbClient* client)
if ((listenSocket < 0)) exit(1); if ((listenSocket < 0)) exit(1);
fprintf(stderr,"%s -listen: Listening on port %d\n", rfbClientLog("%s -listen: Listening on port %d\n",
client->programName,client->listenPort); client->programName,client->listenPort);
fprintf(stderr,"%s -listen: Command line errors are not reported until " rfbClientLog("%s -listen: Command line errors are not reported until "
"a connection comes in.\n", client->programName); "a connection comes in.\n", client->programName);
while (TRUE) { while (TRUE) {

@ -33,6 +33,36 @@
#ifdef HAVE_LIBJPEG #ifdef HAVE_LIBJPEG
#include <jpeglib.h> #include <jpeglib.h>
#endif #endif
#include <stdarg.h>
#include <time.h>
/*
* rfbClientLog prints a time-stamped message to the log file (stderr).
*/
Bool rfbEnableClientLogging=TRUE;
void
rfbClientLog(const char *format, ...)
{
va_list args;
char buf[256];
time_t log_clock;
if(!rfbEnableClientLogging)
return;
va_start(args, format);
time(&log_clock);
strftime(buf, 255, "%d/%m/%Y %X ", localtime(&log_clock));
fprintf(stderr,buf);
vfprintf(stderr, format, args);
fflush(stderr);
va_end(args);
}
void FillRectangle(rfbClient* client, int x, int y, int w, int h, uint32_t colour) { void FillRectangle(rfbClient* client, int x, int y, int w, int h, uint32_t colour) {
int i,j; int i,j;
@ -47,7 +77,7 @@ void FillRectangle(rfbClient* client, int x, int y, int w, int h, uint32_t colou
case 16: FILL_RECT(16); break; case 16: FILL_RECT(16); break;
case 32: FILL_RECT(32); break; case 32: FILL_RECT(32); break;
default: default:
fprintf(stderr,"Unsupported bitsPerPixel: %d\n",client->format.bitsPerPixel); rfbClientLog("Unsupported bitsPerPixel: %d\n",client->format.bitsPerPixel);
} }
} }
@ -68,7 +98,7 @@ void CopyRectangle(rfbClient* client, uint8_t* buffer, int x, int y, int w, int
case 16: COPY_RECT(16); break; case 16: COPY_RECT(16); break;
case 32: COPY_RECT(32); break; case 32: COPY_RECT(32); break;
default: default:
fprintf(stderr,"Unsupported bitsPerPixel: %d\n",client->format.bitsPerPixel); rfbClientLog("Unsupported bitsPerPixel: %d\n",client->format.bitsPerPixel);
} }
} }
@ -90,7 +120,7 @@ void CopyRectangleFromRectangle(rfbClient* client, int src_x, int src_y, int w,
case 16: COPY_RECT_FROM_RECT(16); break; case 16: COPY_RECT_FROM_RECT(16); break;
case 32: COPY_RECT_FROM_RECT(32); break; case 32: COPY_RECT_FROM_RECT(32); break;
default: default:
fprintf(stderr,"Unsupported bitsPerPixel: %d\n",client->format.bitsPerPixel); rfbClientLog("Unsupported bitsPerPixel: %d\n",client->format.bitsPerPixel);
} }
} }
@ -137,7 +167,9 @@ static Bool decompStreamInited = FALSE;
*/ */
/* Separate buffer for compressed data. */ /* Separate buffer for compressed data. */
#define ZLIB_BUFFER_SIZE 512 // TODO:
// #define ZLIB_BUFFER_SIZE 512
#define ZLIB_BUFFER_SIZE 30000
static char zlib_buffer[ZLIB_BUFFER_SIZE]; static char zlib_buffer[ZLIB_BUFFER_SIZE];
/* Four independent compression streams for zlib library. */ /* Four independent compression streams for zlib library. */
@ -166,14 +198,14 @@ ConnectToRFBServer(rfbClient* client,const char *hostname, int port)
unsigned int host; unsigned int host;
if (!StringToIPAddr(hostname, &host)) { if (!StringToIPAddr(hostname, &host)) {
fprintf(stderr,"Couldn't convert '%s' to host address\n", hostname); rfbClientLog("Couldn't convert '%s' to host address\n", hostname);
return FALSE; return FALSE;
} }
client->sock = ConnectToTcpAddr(host, port); client->sock = ConnectClientToTcpAddr(host, port);
if (client->sock < 0) { if (client->sock < 0) {
fprintf(stderr,"Unable to connect to VNC server\n"); rfbClientLog("Unable to connect to VNC server\n");
return FALSE; return FALSE;
} }
@ -211,11 +243,11 @@ InitialiseRFBConnection(rfbClient* client)
pv[sz_rfbProtocolVersionMsg] = 0; pv[sz_rfbProtocolVersionMsg] = 0;
if (sscanf(pv,rfbProtocolVersionFormat,&major,&minor) != 2) { if (sscanf(pv,rfbProtocolVersionFormat,&major,&minor) != 2) {
fprintf(stderr,"Not a valid VNC server\n"); rfbClientLog("Not a valid VNC server\n");
return FALSE; return FALSE;
} }
fprintf(stderr,"VNC server supports protocol version %d.%d (viewer %d.%d)\n", rfbClientLog("VNC server supports protocol version %d.%d (viewer %d.%d)\n",
major, minor, rfbProtocolMajorVersion, rfbProtocolMinorVersion); major, minor, rfbProtocolMajorVersion, rfbProtocolMinorVersion);
major = rfbProtocolMajorVersion; major = rfbProtocolMajorVersion;
@ -223,27 +255,27 @@ InitialiseRFBConnection(rfbClient* client)
sprintf(pv,rfbProtocolVersionFormat,major,minor); sprintf(pv,rfbProtocolVersionFormat,major,minor);
if (!WriteExact(client, pv, sz_rfbProtocolVersionMsg)) return FALSE; if (!WriteToRFBServer(client, pv, sz_rfbProtocolVersionMsg)) return FALSE;
if (!ReadFromRFBServer(client, (char *)&authScheme, 4)) return FALSE; if (!ReadFromRFBServer(client, (char *)&authScheme, 4)) return FALSE;
authScheme = Swap32IfLE(authScheme); authScheme = rfbClientSwap32IfLE(authScheme);
switch (authScheme) { switch (authScheme) {
case rfbConnFailed: case rfbConnFailed:
if (!ReadFromRFBServer(client, (char *)&reasonLen, 4)) return FALSE; if (!ReadFromRFBServer(client, (char *)&reasonLen, 4)) return FALSE;
reasonLen = Swap32IfLE(reasonLen); reasonLen = rfbClientSwap32IfLE(reasonLen);
reason = malloc(reasonLen); reason = malloc(reasonLen);
if (!ReadFromRFBServer(client, reason, reasonLen)) return FALSE; if (!ReadFromRFBServer(client, reason, reasonLen)) return FALSE;
fprintf(stderr,"VNC connection failed: %.*s\n",(int)reasonLen, reason); rfbClientLog("VNC connection failed: %.*s\n",(int)reasonLen, reason);
return FALSE; return FALSE;
case rfbNoAuth: case rfbNoAuth:
fprintf(stderr,"No authentication needed\n"); rfbClientLog("No authentication needed\n");
break; break;
case rfbVncAuth: case rfbVncAuth:
@ -253,7 +285,7 @@ InitialiseRFBConnection(rfbClient* client)
passwd = client->GetPassword(client); passwd = client->GetPassword(client);
if ((!passwd) || (strlen(passwd) == 0)) { if ((!passwd) || (strlen(passwd) == 0)) {
fprintf(stderr,"Reading password failed\n"); rfbClientLog("Reading password failed\n");
return FALSE; return FALSE;
} }
if (strlen(passwd) > 8) { if (strlen(passwd) > 8) {
@ -267,51 +299,51 @@ InitialiseRFBConnection(rfbClient* client)
passwd[i] = '\0'; passwd[i] = '\0';
} }
if (!WriteExact(client, (char *)challenge, CHALLENGESIZE)) return FALSE; if (!WriteToRFBServer(client, (char *)challenge, CHALLENGESIZE)) return FALSE;
if (!ReadFromRFBServer(client, (char *)&authResult, 4)) return FALSE; if (!ReadFromRFBServer(client, (char *)&authResult, 4)) return FALSE;
authResult = Swap32IfLE(authResult); authResult = rfbClientSwap32IfLE(authResult);
switch (authResult) { switch (authResult) {
case rfbVncAuthOK: case rfbVncAuthOK:
fprintf(stderr,"VNC authentication succeeded\n"); rfbClientLog("VNC authentication succeeded\n");
break; break;
case rfbVncAuthFailed: case rfbVncAuthFailed:
fprintf(stderr,"VNC authentication failed\n"); rfbClientLog("VNC authentication failed\n");
return FALSE; return FALSE;
case rfbVncAuthTooMany: case rfbVncAuthTooMany:
fprintf(stderr,"VNC authentication failed - too many tries\n"); rfbClientLog("VNC authentication failed - too many tries\n");
return FALSE; return FALSE;
default: default:
fprintf(stderr,"Unknown VNC authentication result: %d\n", rfbClientLog("Unknown VNC authentication result: %d\n",
(int)authResult); (int)authResult);
return FALSE; return FALSE;
} }
break; break;
default: default:
fprintf(stderr,"Unknown authentication scheme from VNC server: %d\n", rfbClientLog("Unknown authentication scheme from VNC server: %d\n",
(int)authScheme); (int)authScheme);
return FALSE; return FALSE;
} }
ci.shared = (client->appData.shareDesktop ? 1 : 0); ci.shared = (client->appData.shareDesktop ? 1 : 0);
if (!WriteExact(client, (char *)&ci, sz_rfbClientInitMsg)) return FALSE; if (!WriteToRFBServer(client, (char *)&ci, sz_rfbClientInitMsg)) return FALSE;
if (!ReadFromRFBServer(client, (char *)&client->si, sz_rfbServerInitMsg)) return FALSE; if (!ReadFromRFBServer(client, (char *)&client->si, sz_rfbServerInitMsg)) return FALSE;
client->si.framebufferWidth = Swap16IfLE(client->si.framebufferWidth); client->si.framebufferWidth = rfbClientSwap16IfLE(client->si.framebufferWidth);
client->si.framebufferHeight = Swap16IfLE(client->si.framebufferHeight); client->si.framebufferHeight = rfbClientSwap16IfLE(client->si.framebufferHeight);
client->si.format.redMax = Swap16IfLE(client->si.format.redMax); client->si.format.redMax = rfbClientSwap16IfLE(client->si.format.redMax);
client->si.format.greenMax = Swap16IfLE(client->si.format.greenMax); client->si.format.greenMax = rfbClientSwap16IfLE(client->si.format.greenMax);
client->si.format.blueMax = Swap16IfLE(client->si.format.blueMax); client->si.format.blueMax = rfbClientSwap16IfLE(client->si.format.blueMax);
client->si.nameLength = Swap32IfLE(client->si.nameLength); client->si.nameLength = rfbClientSwap32IfLE(client->si.nameLength);
client->desktopName = malloc(client->si.nameLength + 1); client->desktopName = malloc(client->si.nameLength + 1);
if (!client->desktopName) { if (!client->desktopName) {
fprintf(stderr, "Error allocating memory for desktop name, %lu bytes\n", rfbClientLog("Error allocating memory for desktop name, %lu bytes\n",
(unsigned long)client->si.nameLength); (unsigned long)client->si.nameLength);
return FALSE; return FALSE;
} }
@ -320,12 +352,12 @@ InitialiseRFBConnection(rfbClient* client)
client->desktopName[client->si.nameLength] = 0; client->desktopName[client->si.nameLength] = 0;
fprintf(stderr,"Desktop name \"%s\"\n",client->desktopName); rfbClientLog("Desktop name \"%s\"\n",client->desktopName);
fprintf(stderr,"Connected to VNC server, using protocol version %d.%d\n", rfbClientLog("Connected to VNC server, using protocol version %d.%d\n",
rfbProtocolMajorVersion, rfbProtocolMinorVersion); rfbProtocolMajorVersion, rfbProtocolMinorVersion);
fprintf(stderr,"VNC server default format:\n"); rfbClientLog("VNC server default format:\n");
PrintPixelFormat(&client->si.format); PrintPixelFormat(&client->si.format);
return TRUE; return TRUE;
@ -350,11 +382,11 @@ SetFormatAndEncodings(rfbClient* client)
spf.type = rfbSetPixelFormat; spf.type = rfbSetPixelFormat;
spf.format = client->format; spf.format = client->format;
spf.format.redMax = Swap16IfLE(spf.format.redMax); spf.format.redMax = rfbClientSwap16IfLE(spf.format.redMax);
spf.format.greenMax = Swap16IfLE(spf.format.greenMax); spf.format.greenMax = rfbClientSwap16IfLE(spf.format.greenMax);
spf.format.blueMax = Swap16IfLE(spf.format.blueMax); spf.format.blueMax = rfbClientSwap16IfLE(spf.format.blueMax);
if (!WriteExact(client, (char *)&spf, sz_rfbSetPixelFormatMsg)) if (!WriteToRFBServer(client, (char *)&spf, sz_rfbSetPixelFormatMsg))
return FALSE; return FALSE;
se->type = rfbSetEncodings; se->type = rfbSetEncodings;
@ -373,56 +405,56 @@ SetFormatAndEncodings(rfbClient* client)
} }
if (strncasecmp(encStr,"raw",encStrLen) == 0) { if (strncasecmp(encStr,"raw",encStrLen) == 0) {
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingRaw); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingRaw);
} else if (strncasecmp(encStr,"copyrect",encStrLen) == 0) { } else if (strncasecmp(encStr,"copyrect",encStrLen) == 0) {
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingCopyRect); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingCopyRect);
} else if (strncasecmp(encStr,"tight",encStrLen) == 0) { } else if (strncasecmp(encStr,"tight",encStrLen) == 0) {
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingTight); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingTight);
requestLastRectEncoding = TRUE; requestLastRectEncoding = TRUE;
if (client->appData.compressLevel >= 0 && client->appData.compressLevel <= 9) if (client->appData.compressLevel >= 0 && client->appData.compressLevel <= 9)
requestCompressLevel = TRUE; requestCompressLevel = TRUE;
if (client->appData.enableJPEG) if (client->appData.enableJPEG)
requestQualityLevel = TRUE; requestQualityLevel = TRUE;
} else if (strncasecmp(encStr,"hextile",encStrLen) == 0) { } else if (strncasecmp(encStr,"hextile",encStrLen) == 0) {
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingHextile); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingHextile);
} else if (strncasecmp(encStr,"zlib",encStrLen) == 0) { } else if (strncasecmp(encStr,"zlib",encStrLen) == 0) {
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingZlib); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingZlib);
if (client->appData.compressLevel >= 0 && client->appData.compressLevel <= 9) if (client->appData.compressLevel >= 0 && client->appData.compressLevel <= 9)
requestCompressLevel = TRUE; requestCompressLevel = TRUE;
} else if (strncasecmp(encStr,"corre",encStrLen) == 0) { } else if (strncasecmp(encStr,"corre",encStrLen) == 0) {
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingCoRRE); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingCoRRE);
} else if (strncasecmp(encStr,"rre",encStrLen) == 0) { } else if (strncasecmp(encStr,"rre",encStrLen) == 0) {
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingRRE); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingRRE);
} else { } else {
fprintf(stderr,"Unknown encoding '%.*s'\n",encStrLen,encStr); rfbClientLog("Unknown encoding '%.*s'\n",encStrLen,encStr);
} }
encStr = nextEncStr; encStr = nextEncStr;
} while (encStr && se->nEncodings < MAX_ENCODINGS); } while (encStr && se->nEncodings < MAX_ENCODINGS);
if (se->nEncodings < MAX_ENCODINGS && requestCompressLevel) { if (se->nEncodings < MAX_ENCODINGS && requestCompressLevel) {
encs[se->nEncodings++] = Swap32IfLE(client->appData.compressLevel + encs[se->nEncodings++] = rfbClientSwap32IfLE(client->appData.compressLevel +
rfbEncodingCompressLevel0); rfbEncodingCompressLevel0);
} }
if (se->nEncodings < MAX_ENCODINGS && requestQualityLevel) { if (se->nEncodings < MAX_ENCODINGS && requestQualityLevel) {
if (client->appData.qualityLevel < 0 || client->appData.qualityLevel > 9) if (client->appData.qualityLevel < 0 || client->appData.qualityLevel > 9)
client->appData.qualityLevel = 5; client->appData.qualityLevel = 5;
encs[se->nEncodings++] = Swap32IfLE(client->appData.qualityLevel + encs[se->nEncodings++] = rfbClientSwap32IfLE(client->appData.qualityLevel +
rfbEncodingQualityLevel0); rfbEncodingQualityLevel0);
} }
if (client->appData.useRemoteCursor) { if (client->appData.useRemoteCursor) {
if (se->nEncodings < MAX_ENCODINGS) if (se->nEncodings < MAX_ENCODINGS)
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingXCursor); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingXCursor);
if (se->nEncodings < MAX_ENCODINGS) if (se->nEncodings < MAX_ENCODINGS)
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingRichCursor); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingRichCursor);
if (se->nEncodings < MAX_ENCODINGS) if (se->nEncodings < MAX_ENCODINGS)
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingPointerPos); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingPointerPos);
} }
if (se->nEncodings < MAX_ENCODINGS && requestLastRectEncoding) { if (se->nEncodings < MAX_ENCODINGS && requestLastRectEncoding) {
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingLastRect); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingLastRect);
} }
} }
else { else {
@ -430,55 +462,54 @@ SetFormatAndEncodings(rfbClient* client)
/* TODO: /* TODO:
if (!tunnelSpecified) { if (!tunnelSpecified) {
*/ */
fprintf(stderr,"Same machine: preferring raw encoding\n"); rfbClientLog("Same machine: preferring raw encoding\n");
/* TODO: */ encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingRaw);
//encs[se->nEncodings++] = Swap32IfLE(rfbEncodingRaw);
/* /*
} else { } else {
fprintf(stderr,"Tunneling active: preferring tight encoding\n"); rfbClientLog("Tunneling active: preferring tight encoding\n");
} }
*/ */
} }
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingCopyRect); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingCopyRect);
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingTight); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingTight);
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingHextile); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingHextile);
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingZlib); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingZlib);
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingCoRRE); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingCoRRE);
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingRRE); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingRRE);
if (client->appData.compressLevel >= 0 && client->appData.compressLevel <= 9) { if (client->appData.compressLevel >= 0 && client->appData.compressLevel <= 9) {
encs[se->nEncodings++] = Swap32IfLE(client->appData.compressLevel + encs[se->nEncodings++] = rfbClientSwap32IfLE(client->appData.compressLevel +
rfbEncodingCompressLevel0); rfbEncodingCompressLevel0);
} else /* if (!tunnelSpecified) */ { } else /* if (!tunnelSpecified) */ {
/* If -tunnel option was provided, we assume that server machine is /* If -tunnel option was provided, we assume that server machine is
not in the local network so we use default compression level for not in the local network so we use default compression level for
tight encoding instead of fast compression. Thus we are tight encoding instead of fast compression. Thus we are
requesting level 1 compression only if tunneling is not used. */ requesting level 1 compression only if tunneling is not used. */
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingCompressLevel1); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingCompressLevel1);
} }
if (client->appData.enableJPEG) { if (client->appData.enableJPEG) {
if (client->appData.qualityLevel < 0 || client->appData.qualityLevel > 9) if (client->appData.qualityLevel < 0 || client->appData.qualityLevel > 9)
client->appData.qualityLevel = 5; client->appData.qualityLevel = 5;
encs[se->nEncodings++] = Swap32IfLE(client->appData.qualityLevel + encs[se->nEncodings++] = rfbClientSwap32IfLE(client->appData.qualityLevel +
rfbEncodingQualityLevel0); rfbEncodingQualityLevel0);
} }
if (client->appData.useRemoteCursor) { if (client->appData.useRemoteCursor) {
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingXCursor); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingXCursor);
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingRichCursor); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingRichCursor);
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingPointerPos); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingPointerPos);
} }
encs[se->nEncodings++] = Swap32IfLE(rfbEncodingLastRect); encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingLastRect);
} }
len = sz_rfbSetEncodingsMsg + se->nEncodings * 4; len = sz_rfbSetEncodingsMsg + se->nEncodings * 4;
se->nEncodings = Swap16IfLE(se->nEncodings); se->nEncodings = rfbClientSwap16IfLE(se->nEncodings);
if (!WriteExact(client, buf, len)) return FALSE; if (!WriteToRFBServer(client, buf, len)) return FALSE;
return TRUE; return TRUE;
} }
@ -507,12 +538,12 @@ SendFramebufferUpdateRequest(rfbClient* client, int x, int y, int w, int h, Bool
fur.type = rfbFramebufferUpdateRequest; fur.type = rfbFramebufferUpdateRequest;
fur.incremental = incremental ? 1 : 0; fur.incremental = incremental ? 1 : 0;
fur.x = Swap16IfLE(x); fur.x = rfbClientSwap16IfLE(x);
fur.y = Swap16IfLE(y); fur.y = rfbClientSwap16IfLE(y);
fur.w = Swap16IfLE(w); fur.w = rfbClientSwap16IfLE(w);
fur.h = Swap16IfLE(h); fur.h = rfbClientSwap16IfLE(h);
if (!WriteExact(client, (char *)&fur, sz_rfbFramebufferUpdateRequestMsg)) if (!WriteToRFBServer(client, (char *)&fur, sz_rfbFramebufferUpdateRequestMsg))
return FALSE; return FALSE;
return TRUE; return TRUE;
@ -533,9 +564,9 @@ SendPointerEvent(rfbClient* client,int x, int y, int buttonMask)
if (x < 0) x = 0; if (x < 0) x = 0;
if (y < 0) y = 0; if (y < 0) y = 0;
pe.x = Swap16IfLE(x); pe.x = rfbClientSwap16IfLE(x);
pe.y = Swap16IfLE(y); pe.y = rfbClientSwap16IfLE(y);
return WriteExact(client, (char *)&pe, sz_rfbPointerEventMsg); return WriteToRFBServer(client, (char *)&pe, sz_rfbPointerEventMsg);
} }
@ -550,8 +581,8 @@ SendKeyEvent(rfbClient* client, uint32_t key, Bool down)
ke.type = rfbKeyEvent; ke.type = rfbKeyEvent;
ke.down = down ? 1 : 0; ke.down = down ? 1 : 0;
ke.key = Swap32IfLE(key); ke.key = rfbClientSwap32IfLE(key);
return WriteExact(client, (char *)&ke, sz_rfbKeyEventMsg); return WriteToRFBServer(client, (char *)&ke, sz_rfbKeyEventMsg);
} }
@ -569,9 +600,9 @@ SendClientCutText(rfbClient* client, char *str, int len)
client->serverCutText = NULL; client->serverCutText = NULL;
cct.type = rfbClientCutText; cct.type = rfbClientCutText;
cct.length = Swap32IfLE(len); cct.length = rfbClientSwap32IfLE(len);
return (WriteExact(client, (char *)&cct, sz_rfbClientCutTextMsg) && return (WriteToRFBServer(client, (char *)&cct, sz_rfbClientCutTextMsg) &&
WriteExact(client, str, len)); WriteToRFBServer(client, str, len));
} }
@ -601,16 +632,16 @@ HandleRFBServerMessage(rfbClient* client)
sz_rfbSetColourMapEntriesMsg - 1)) sz_rfbSetColourMapEntriesMsg - 1))
return FALSE; return FALSE;
msg.scme.firstColour = Swap16IfLE(msg.scme.firstColour); msg.scme.firstColour = rfbClientSwap16IfLE(msg.scme.firstColour);
msg.scme.nColours = Swap16IfLE(msg.scme.nColours); msg.scme.nColours = rfbClientSwap16IfLE(msg.scme.nColours);
for (i = 0; i < msg.scme.nColours; i++) { for (i = 0; i < msg.scme.nColours; i++) {
if (!ReadFromRFBServer(client, (char *)rgb, 6)) if (!ReadFromRFBServer(client, (char *)rgb, 6))
return FALSE; return FALSE;
xc.pixel = msg.scme.firstColour + i; xc.pixel = msg.scme.firstColour + i;
xc.red = Swap16IfLE(rgb[0]); xc.red = rfbClientSwap16IfLE(rgb[0]);
xc.green = Swap16IfLE(rgb[1]); xc.green = rfbClientSwap16IfLE(rgb[1]);
xc.blue = Swap16IfLE(rgb[2]); xc.blue = rfbClientSwap16IfLE(rgb[2]);
xc.flags = DoRed|DoGreen|DoBlue; xc.flags = DoRed|DoGreen|DoBlue;
XStoreColor(dpy, cmap, &xc); XStoreColor(dpy, cmap, &xc);
} }
@ -630,20 +661,20 @@ HandleRFBServerMessage(rfbClient* client)
sz_rfbFramebufferUpdateMsg - 1)) sz_rfbFramebufferUpdateMsg - 1))
return FALSE; return FALSE;
msg.fu.nRects = Swap16IfLE(msg.fu.nRects); msg.fu.nRects = rfbClientSwap16IfLE(msg.fu.nRects);
for (i = 0; i < msg.fu.nRects; i++) { for (i = 0; i < msg.fu.nRects; i++) {
if (!ReadFromRFBServer(client, (char *)&rect, sz_rfbFramebufferUpdateRectHeader)) if (!ReadFromRFBServer(client, (char *)&rect, sz_rfbFramebufferUpdateRectHeader))
return FALSE; return FALSE;
rect.encoding = Swap32IfLE(rect.encoding); rect.encoding = rfbClientSwap32IfLE(rect.encoding);
if (rect.encoding == rfbEncodingLastRect) if (rect.encoding == rfbEncodingLastRect)
break; break;
rect.r.x = Swap16IfLE(rect.r.x); rect.r.x = rfbClientSwap16IfLE(rect.r.x);
rect.r.y = Swap16IfLE(rect.r.y); rect.r.y = rfbClientSwap16IfLE(rect.r.y);
rect.r.w = Swap16IfLE(rect.r.w); rect.r.w = rfbClientSwap16IfLE(rect.r.w);
rect.r.h = Swap16IfLE(rect.r.h); rect.r.h = rfbClientSwap16IfLE(rect.r.h);
if (rect.encoding == rfbEncodingXCursor || if (rect.encoding == rfbEncodingXCursor ||
rect.encoding == rfbEncodingRichCursor) { rect.encoding == rfbEncodingRichCursor) {
@ -665,13 +696,13 @@ HandleRFBServerMessage(rfbClient* client)
if ((rect.r.x + rect.r.w > client->si.framebufferWidth) || if ((rect.r.x + rect.r.w > client->si.framebufferWidth) ||
(rect.r.y + rect.r.h > client->si.framebufferHeight)) (rect.r.y + rect.r.h > client->si.framebufferHeight))
{ {
fprintf(stderr,"Rect too large: %dx%d at (%d, %d)\n", rfbClientLog("Rect too large: %dx%d at (%d, %d)\n",
rect.r.w, rect.r.h, rect.r.x, rect.r.y); rect.r.w, rect.r.h, rect.r.x, rect.r.y);
return FALSE; return FALSE;
} }
if (rect.r.h * rect.r.w == 0) { if (rect.r.h * rect.r.w == 0) {
fprintf(stderr,"Zero size rect - ignoring\n"); rfbClientLog("Zero size rect - ignoring\n");
continue; continue;
} }
@ -709,8 +740,8 @@ HandleRFBServerMessage(rfbClient* client)
if (!ReadFromRFBServer(client, (char *)&cr, sz_rfbCopyRect)) if (!ReadFromRFBServer(client, (char *)&cr, sz_rfbCopyRect))
return FALSE; return FALSE;
cr.srcX = Swap16IfLE(cr.srcX); cr.srcX = rfbClientSwap16IfLE(cr.srcX);
cr.srcY = Swap16IfLE(cr.srcY); cr.srcY = rfbClientSwap16IfLE(cr.srcY);
/* If RichCursor encoding is used, we should extend our /* If RichCursor encoding is used, we should extend our
"cursor lock area" (previously set to destination "cursor lock area" (previously set to destination
@ -821,7 +852,7 @@ HandleRFBServerMessage(rfbClient* client)
} }
default: default:
fprintf(stderr,"Unknown rect encoding %d\n", rfbClientLog("Unknown rect encoding %d\n",
(int)rect.encoding); (int)rect.encoding);
return FALSE; return FALSE;
} }
@ -829,7 +860,7 @@ HandleRFBServerMessage(rfbClient* client)
/* Now we may discard "soft cursor locks". */ /* Now we may discard "soft cursor locks". */
client->SoftCursorUnlockScreen(client); client->SoftCursorUnlockScreen(client);
client->FramebufferUpdateReceived(client, rect.r.x, rect.r.y, rect.r.w, rect.r.h); client->GotFrameBufferUpdate(client, rect.r.x, rect.r.y, rect.r.w, rect.r.h);
} }
#ifdef MITSHM #ifdef MITSHM
@ -861,7 +892,7 @@ HandleRFBServerMessage(rfbClient* client)
sz_rfbServerCutTextMsg - 1)) sz_rfbServerCutTextMsg - 1))
return FALSE; return FALSE;
msg.sct.length = Swap32IfLE(msg.sct.length); msg.sct.length = rfbClientSwap32IfLE(msg.sct.length);
if (client->serverCutText) if (client->serverCutText)
free(client->serverCutText); free(client->serverCutText);
@ -879,7 +910,7 @@ HandleRFBServerMessage(rfbClient* client)
} }
default: default:
fprintf(stderr,"Unknown message type %d from VNC server\n",msg.type); rfbClientLog("Unknown message type %d from VNC server\n",msg.type);
return FALSE; return FALSE;
} }
@ -937,23 +968,23 @@ PrintPixelFormat(format)
rfbPixelFormat *format; rfbPixelFormat *format;
{ {
if (format->bitsPerPixel == 1) { if (format->bitsPerPixel == 1) {
fprintf(stderr," Single bit per pixel.\n"); rfbClientLog(" Single bit per pixel.\n");
fprintf(stderr, rfbClientLog(
" %s significant bit in each byte is leftmost on the screen.\n", " %s significant bit in each byte is leftmost on the screen.\n",
(format->bigEndian ? "Most" : "Least")); (format->bigEndian ? "Most" : "Least"));
} else { } else {
fprintf(stderr," %d bits per pixel.\n",format->bitsPerPixel); rfbClientLog(" %d bits per pixel.\n",format->bitsPerPixel);
if (format->bitsPerPixel != 8) { if (format->bitsPerPixel != 8) {
fprintf(stderr," %s significant byte first in each pixel.\n", rfbClientLog(" %s significant byte first in each pixel.\n",
(format->bigEndian ? "Most" : "Least")); (format->bigEndian ? "Most" : "Least"));
} }
if (format->trueColour) { if (format->trueColour) {
fprintf(stderr," TRUE colour: max red %d green %d blue %d", rfbClientLog(" TRUE colour: max red %d green %d blue %d",
format->redMax, format->greenMax, format->blueMax); format->redMax, format->greenMax, format->blueMax);
fprintf(stderr,", shift red %d green %d blue %d\n", rfbClientLog(", shift red %d green %d blue %d\n",
format->redShift, format->greenShift, format->blueShift); format->redShift, format->greenShift, format->blueShift);
} else { } else {
fprintf(stderr," Colour map (not true colour).\n"); rfbClientLog(" Colour map (not true colour).\n");
} }
} }
} }
@ -1047,6 +1078,10 @@ JpegSetSrcManager(j_decompress_ptr cinfo, uint8_t *compressedData,
#define vncEncryptAndStorePasswd rfbEncryptAndStorePasswdUnused #define vncEncryptAndStorePasswd rfbEncryptAndStorePasswdUnused
#define vncDecryptPasswdFromFile rfbDecryptPasswdFromFileUnused #define vncDecryptPasswdFromFile rfbDecryptPasswdFromFileUnused
#define vncRandomBytes rfbRandomBytesUnused #define vncRandomBytes rfbRandomBytesUnused
#define des rfbDES
#define deskey rfbDESKey
#define usekey rfbUseKey
#define cpkey rfbCPKey
#include "../vncauth.c" #include "../vncauth.c"
#include "../d3des.c" #include "../d3des.c"

@ -40,7 +40,7 @@ HandleRREBPP (rfbClient* client, int rx, int ry, int rw, int rh)
if (!ReadFromRFBServer(client, (char *)&hdr, sz_rfbRREHeader)) if (!ReadFromRFBServer(client, (char *)&hdr, sz_rfbRREHeader))
return FALSE; return FALSE;
hdr.nSubrects = Swap32IfLE(hdr.nSubrects); hdr.nSubrects = rfbClientSwap32IfLE(hdr.nSubrects);
if (!ReadFromRFBServer(client, (char *)&pix, sizeof(pix))) if (!ReadFromRFBServer(client, (char *)&pix, sizeof(pix)))
return FALSE; return FALSE;
@ -54,10 +54,10 @@ HandleRREBPP (rfbClient* client, int rx, int ry, int rw, int rh)
if (!ReadFromRFBServer(client, (char *)&subrect, sz_rfbRectangle)) if (!ReadFromRFBServer(client, (char *)&subrect, sz_rfbRectangle))
return FALSE; return FALSE;
subrect.x = Swap16IfLE(subrect.x); subrect.x = rfbClientSwap16IfLE(subrect.x);
subrect.y = Swap16IfLE(subrect.y); subrect.y = rfbClientSwap16IfLE(subrect.y);
subrect.w = Swap16IfLE(subrect.w); subrect.w = rfbClientSwap16IfLE(subrect.w);
subrect.h = Swap16IfLE(subrect.h); subrect.h = rfbClientSwap16IfLE(subrect.h);
FillRectangle(client, rx+subrect.x, ry+subrect.y, subrect.w, subrect.h, pix); FillRectangle(client, rx+subrect.x, ry+subrect.y, subrect.w, subrect.h, pix);
} }

@ -90,7 +90,7 @@ ReadFromRFBServer(rfbClient* client, char *out, unsigned int n)
} }
} else { } else {
if (errorMessageOnReadFailure) { if (errorMessageOnReadFailure) {
fprintf(stderr,"VNC server closed connection\n"); rfbClientLog("VNC server closed connection\n");
} }
return FALSE; return FALSE;
} }
@ -120,7 +120,7 @@ ReadFromRFBServer(rfbClient* client, char *out, unsigned int n)
} }
} else { } else {
if (errorMessageOnReadFailure) { if (errorMessageOnReadFailure) {
fprintf(stderr,"VNC server closed connection\n"); rfbClientLog("VNC server closed connection\n");
} }
return FALSE; return FALSE;
} }
@ -139,7 +139,7 @@ ReadFromRFBServer(rfbClient* client, char *out, unsigned int n)
*/ */
Bool Bool
WriteExact(rfbClient* client, char *buf, int n) WriteToRFBServer(rfbClient* client, char *buf, int n)
{ {
fd_set fds; fd_set fds;
int i = 0; int i = 0;
@ -163,7 +163,7 @@ WriteExact(rfbClient* client, char *buf, int n)
return FALSE; return FALSE;
} }
} else { } else {
fprintf(stderr,"write failed\n"); rfbClientLog("write failed\n");
return FALSE; return FALSE;
} }
} }
@ -178,7 +178,7 @@ WriteExact(rfbClient* client, char *buf, int n)
*/ */
int int
ConnectToTcpAddr(unsigned int host, int port) ConnectClientToTcpAddr(unsigned int host, int port)
{ {
int sock; int sock;
struct sockaddr_in addr; struct sockaddr_in addr;
@ -392,32 +392,32 @@ PrintInHex(char *buf, int len)
str[16] = 0; str[16] = 0;
fprintf(stderr,"ReadExact: "); rfbClientLog("ReadExact: ");
for (i = 0; i < len; i++) for (i = 0; i < len; i++)
{ {
if ((i % 16 == 0) && (i != 0)) { if ((i % 16 == 0) && (i != 0)) {
fprintf(stderr," "); rfbClientLog(" ");
} }
c = buf[i]; c = buf[i];
str[i % 16] = (((c > 31) && (c < 127)) ? c : '.'); str[i % 16] = (((c > 31) && (c < 127)) ? c : '.');
fprintf(stderr,"%02x ",(unsigned char)c); rfbClientLog("%02x ",(unsigned char)c);
if ((i % 4) == 3) if ((i % 4) == 3)
fprintf(stderr," "); rfbClientLog(" ");
if ((i % 16) == 15) if ((i % 16) == 15)
{ {
fprintf(stderr,"%s\n",str); rfbClientLog("%s\n",str);
} }
} }
if ((i % 16) != 0) if ((i % 16) != 0)
{ {
for (j = i % 16; j < 16; j++) for (j = i % 16; j < 16; j++)
{ {
fprintf(stderr," "); rfbClientLog(" ");
if ((j % 4) == 3) fprintf(stderr," "); if ((j % 4) == 3) rfbClientLog(" ");
} }
str[i % 16] = 0; str[i % 16] = 0;
fprintf(stderr,"%s\n",str); rfbClientLog("%s\n",str);
} }
fflush(stderr); fflush(stderr);

@ -105,7 +105,7 @@ HandleTightBPP (rfbClient* client, int rx, int ry, int rw, int rh)
if ((comp_ctl & 1) && zlibStreamActive[stream_id]) { if ((comp_ctl & 1) && zlibStreamActive[stream_id]) {
if (inflateEnd (&zlibStream[stream_id]) != Z_OK && if (inflateEnd (&zlibStream[stream_id]) != Z_OK &&
zlibStream[stream_id].msg != NULL) zlibStream[stream_id].msg != NULL)
fprintf(stderr, "inflateEnd: %s\n", zlibStream[stream_id].msg); rfbClientLog("inflateEnd: %s\n", zlibStream[stream_id].msg);
zlibStreamActive[stream_id] = FALSE; zlibStreamActive[stream_id] = FALSE;
} }
comp_ctl >>= 1; comp_ctl >>= 1;
@ -135,7 +135,7 @@ HandleTightBPP (rfbClient* client, int rx, int ry, int rw, int rh)
#if BPP == 8 #if BPP == 8
if (comp_ctl == rfbTightJpeg) { if (comp_ctl == rfbTightJpeg) {
fprintf(stderr, "Tight encoding: JPEG is not supported in 8 bpp mode.\n"); rfbClientLog("Tight encoding: JPEG is not supported in 8 bpp mode.\n");
return FALSE; return FALSE;
} }
#else #else
@ -146,7 +146,7 @@ HandleTightBPP (rfbClient* client, int rx, int ry, int rw, int rh)
/* Quit on unsupported subencoding value. */ /* Quit on unsupported subencoding value. */
if (comp_ctl > rfbTightMaxSubencoding) { if (comp_ctl > rfbTightMaxSubencoding) {
fprintf(stderr, "Tight encoding: bad subencoding value received.\n"); rfbClientLog("Tight encoding: bad subencoding value received.\n");
return FALSE; return FALSE;
} }
@ -174,7 +174,7 @@ HandleTightBPP (rfbClient* client, int rx, int ry, int rw, int rh)
bitsPixel = InitFilterGradientBPP(client, rw, rh); bitsPixel = InitFilterGradientBPP(client, rw, rh);
break; break;
default: default:
fprintf(stderr, "Tight encoding: unknown filter code received.\n"); rfbClientLog("Tight encoding: unknown filter code received.\n");
return FALSE; return FALSE;
} }
} else { } else {
@ -182,7 +182,7 @@ HandleTightBPP (rfbClient* client, int rx, int ry, int rw, int rh)
bitsPixel = InitFilterCopyBPP(client, rw, rh); bitsPixel = InitFilterCopyBPP(client, rw, rh);
} }
if (bitsPixel == 0) { if (bitsPixel == 0) {
fprintf(stderr, "Tight encoding: error receiving palette.\n"); rfbClientLog("Tight encoding: error receiving palette.\n");
return FALSE; return FALSE;
} }
@ -203,7 +203,7 @@ HandleTightBPP (rfbClient* client, int rx, int ry, int rw, int rh)
/* Read the length (1..3 bytes) of compressed data following. */ /* Read the length (1..3 bytes) of compressed data following. */
compressedLen = (int)ReadCompactLen(client); compressedLen = (int)ReadCompactLen(client);
if (compressedLen <= 0) { if (compressedLen <= 0) {
fprintf(stderr, "Incorrect data received from the server.\n"); rfbClientLog("Incorrect data received from the server.\n");
return FALSE; return FALSE;
} }
@ -217,7 +217,7 @@ HandleTightBPP (rfbClient* client, int rx, int ry, int rw, int rh)
err = inflateInit(zs); err = inflateInit(zs);
if (err != Z_OK) { if (err != Z_OK) {
if (zs->msg != NULL) if (zs->msg != NULL)
fprintf(stderr, "InflateInit error: %s.\n", zs->msg); rfbClientLog("InflateInit error: %s.\n", zs->msg);
return FALSE; return FALSE;
} }
zlibStreamActive[stream_id] = TRUE; zlibStreamActive[stream_id] = TRUE;
@ -229,7 +229,7 @@ HandleTightBPP (rfbClient* client, int rx, int ry, int rw, int rh)
buffer2 = &client->buffer[bufferSize]; buffer2 = &client->buffer[bufferSize];
if (rowSize > bufferSize) { if (rowSize > bufferSize) {
/* Should be impossible when BUFFER_SIZE >= 16384 */ /* Should be impossible when BUFFER_SIZE >= 16384 */
fprintf(stderr, "Internal error: incorrect buffer size.\n"); rfbClientLog("Internal error: incorrect buffer size.\n");
return FALSE; return FALSE;
} }
@ -259,9 +259,9 @@ HandleTightBPP (rfbClient* client, int rx, int ry, int rw, int rh)
break; break;
if (err != Z_OK && err != Z_STREAM_END) { if (err != Z_OK && err != Z_STREAM_END) {
if (zs->msg != NULL) { if (zs->msg != NULL) {
fprintf(stderr, "Inflate error: %s.\n", zs->msg); rfbClientLog("Inflate error: %s.\n", zs->msg);
} else { } else {
fprintf(stderr, "Inflate error: %d.\n", err); rfbClientLog("Inflate error: %d.\n", err);
} }
return FALSE; return FALSE;
} }
@ -282,7 +282,7 @@ HandleTightBPP (rfbClient* client, int rx, int ry, int rw, int rh)
} }
if (rowsProcessed != rh) { if (rowsProcessed != rh) {
fprintf(stderr, "Incorrect number of scan lines after decompression.\n"); rfbClientLog("Incorrect number of scan lines after decompression.\n");
return FALSE; return FALSE;
} }
@ -545,13 +545,13 @@ DecompressJpegRectBPP(rfbClient* client, int x, int y, int w, int h)
compressedLen = (int)ReadCompactLen(client); compressedLen = (int)ReadCompactLen(client);
if (compressedLen <= 0) { if (compressedLen <= 0) {
fprintf(stderr, "Incorrect data received from the server.\n"); rfbClientLog("Incorrect data received from the server.\n");
return FALSE; return FALSE;
} }
compressedData = malloc(compressedLen); compressedData = malloc(compressedLen);
if (compressedData == NULL) { if (compressedData == NULL) {
fprintf(stderr, "Memory allocation error.\n"); rfbClientLog("Memory allocation error.\n");
return FALSE; return FALSE;
} }
@ -571,7 +571,7 @@ DecompressJpegRectBPP(rfbClient* client, int x, int y, int w, int h)
jpeg_start_decompress(&cinfo); jpeg_start_decompress(&cinfo);
if (cinfo.output_width != w || cinfo.output_height != h || if (cinfo.output_width != w || cinfo.output_height != h ||
cinfo.output_components != 3) { cinfo.output_components != 3) {
fprintf(stderr, "Tight Encoding: Wrong JPEG data received.\n"); rfbClientLog("Tight Encoding: Wrong JPEG data received.\n");
jpeg_destroy_decompress(&cinfo); jpeg_destroy_decompress(&cinfo);
free(compressedData); free(compressedData);
return FALSE; return FALSE;

@ -86,7 +86,7 @@ rfbClient* rfbGetClient(int* argc,char** argv,
client->HandleCursorPos = DummyPoint; client->HandleCursorPos = DummyPoint;
client->SoftCursorLockArea = DummyRect; client->SoftCursorLockArea = DummyRect;
client->SoftCursorUnlockScreen = Dummy; client->SoftCursorUnlockScreen = Dummy;
client->FramebufferUpdateReceived = DummyRect; client->GotFrameBufferUpdate = DummyRect;
client->GetPassword = NoPassword; client->GetPassword = NoPassword;
client->MallocFrameBuffer = MallocFrameBuffer; client->MallocFrameBuffer = MallocFrameBuffer;
client->Bell = Dummy; client->Bell = Dummy;
@ -94,147 +94,30 @@ rfbClient* rfbGetClient(int* argc,char** argv,
return client; return client;
} }
void PrintRect(rfbClient* client, int x, int y, int w, int h) { Bool rfbInitClient(rfbClient* client,const char* vncServerHost,int vncServerPort)
fprintf(stderr,"Received an update for %d,%d,%d,%d.\n",x,y,w,h);
}
void SaveFramebufferAsPGM(rfbClient* client, int x, int y, int w, int h) {
static time_t t=0,t1;
FILE* f;
int i,j;
int bpp=client->format.bitsPerPixel/8;
int row_stride=client->width*bpp;
/* save one picture only if the last is older than 2 seconds */
t1=time(0);
if(t1-t>2)
t=t1;
else
return;
/* assert bpp=4 */
if(bpp!=4) {
fprintf(stderr,"bpp = %d (!=4)\n",bpp);
return;
}
f=fopen("/tmp/framebuffer.ppm","wb");
fprintf(f,"P6\n# %s\n%d %d\n255\n",client->desktopName,client->width,client->height);
for(j=0;j<client->height*row_stride;j+=row_stride)
for(i=0;i<client->width*bpp;i+=bpp) {
if(client->format.bigEndian) {
fputc(client->frameBuffer[j+i+bpp-1],f);
fputc(client->frameBuffer[j+i+bpp-2],f);
fputc(client->frameBuffer[j+i+bpp-3],f);
} else {
fputc(client->frameBuffer[j+i+bpp+0],f);
fputc(client->frameBuffer[j+i+bpp+1],f);
fputc(client->frameBuffer[j+i+bpp+2],f);
}
}
fclose(f);
}
void
vncEncryptBytes(unsigned char *bytes, char *passwd);
int
main(int argc, char **argv)
{ {
int i;
rfbClient* client = rfbGetClient(&argc,argv,8,3,4);
const char* vncServerHost="";
int vncServerPort=5900;
char buf1[]="pass",buf2[]="pass";
vncEncryptBytes(buf1,buf2);
client->FramebufferUpdateReceived = PrintRect;
client->FramebufferUpdateReceived = SaveFramebufferAsPGM;
/* The -listen option is used to make us a daemon process which listens for
incoming connections from servers, rather than actively connecting to a
given server. The -tunnel and -via options are useful to create
connections tunneled via SSH port forwarding. We must test for the
-listen option before invoking any Xt functions - this is because we use
forking, and Xt doesn't seem to cope with forking very well. For -listen
option, when a successful incoming connection has been accepted,
listenForIncomingConnections() returns, setting the listenSpecified
flag. */
for (i = 1; i < argc; i++) {
if (strcmp(argv[i], "-listen") == 0) {
listenForIncomingConnections(client);
break;
} else {
char* colon=strchr(argv[i],':');
vncServerHost=argv[i];
if(colon) {
*colon=0;
vncServerPort=atoi(colon+1);
} else
vncServerPort=0;
vncServerPort+=5900;
}
/* TODO:
if (strcmp(argv[i], "-tunnel") == 0 || strcmp(argv[i], "-via") == 0) {
if (!createTunnel(&argc, argv, i))
exit(1);
break;
}
*/
}
/* Call the main Xt initialisation function. It parses command-line options,
generating appropriate resource specs, and makes a connection to the X
display. */
/* TODO: cmdline args
toplevel = XtVaAppInitialize(&appContext, "Vncviewer",
cmdLineOptions, numCmdLineOptions,
&argc, argv, fallback_resources,
XtNborderWidth, 0, NULL);
dpy = XtDisplay(toplevel);
*/
/* Interpret resource specs and process any remaining command-line arguments
(i.e. the VNC server name). If the server name isn't specified on the
command line, getArgsAndResources() will pop up a dialog box and wait
for one to be entered. */
/*
GetArgsAndResources(argc, argv);
*/
/* Unless we accepted an incoming connection, make a TCP connection to the /* Unless we accepted an incoming connection, make a TCP connection to the
given VNC server */ given VNC server */
if (!client->listenSpecified) { if (!client->listenSpecified) {
if (!ConnectToRFBServer(client,vncServerHost, vncServerPort)) exit(1); if (!ConnectToRFBServer(client,vncServerHost, vncServerPort))
return FALSE;
} }
/* Initialise the VNC connection, including reading the password */ /* Initialise the VNC connection, including reading the password */
if (!InitialiseRFBConnection(client)) exit(1); if (!InitialiseRFBConnection(client))
return FALSE;
SetFormatAndEncodings(client); if (!SetFormatAndEncodings(client))
return FALSE;
client->width=client->si.framebufferWidth; client->width=client->si.framebufferWidth;
client->height=client->si.framebufferHeight; client->height=client->si.framebufferHeight;
client->MallocFrameBuffer(client); client->MallocFrameBuffer(client);
SendFramebufferUpdateRequest(client,0,0,client->width,client->height,FALSE); if (!SendFramebufferUpdateRequest(client,
0,0,client->width,client->height,FALSE))
return FALSE;
/* Now enter the main loop, processing VNC messages. X events will return TRUE;
automatically be processed whenever the VNC connection is idle. */
while (1) {
if (!HandleRFBServerMessage(client))
break;
}
return 0;
} }

@ -60,7 +60,7 @@ HandleZlibBPP (rfbClient* client, int rx, int ry, int rw, int rh)
if (!ReadFromRFBServer(client, (char *)&hdr, sz_rfbZlibHeader)) if (!ReadFromRFBServer(client, (char *)&hdr, sz_rfbZlibHeader))
return FALSE; return FALSE;
remaining = Swap32IfLE(hdr.nBytes); remaining = rfbClientSwap32IfLE(hdr.nBytes);
/* Need to initialize the decompressor state. */ /* Need to initialize the decompressor state. */
decompStream.next_in = ( Bytef * )client->buffer; decompStream.next_in = ( Bytef * )client->buffer;
@ -75,7 +75,7 @@ HandleZlibBPP (rfbClient* client, int rx, int ry, int rw, int rh)
inflateResult = inflateInit( &decompStream ); inflateResult = inflateInit( &decompStream );
if ( inflateResult != Z_OK ) { if ( inflateResult != Z_OK ) {
fprintf(stderr, rfbClientLog(
"inflateInit returned error: %d, msg: %s\n", "inflateInit returned error: %d, msg: %s\n",
inflateResult, inflateResult,
decompStream.msg); decompStream.msg);
@ -113,11 +113,11 @@ HandleZlibBPP (rfbClient* client, int rx, int ry, int rw, int rh)
/* We never supply a dictionary for compression. */ /* We never supply a dictionary for compression. */
if ( inflateResult == Z_NEED_DICT ) { if ( inflateResult == Z_NEED_DICT ) {
fprintf(stderr,"zlib inflate needs a dictionary!\n"); rfbClientLog("zlib inflate needs a dictionary!\n");
return FALSE; return FALSE;
} }
if ( inflateResult < 0 ) { if ( inflateResult < 0 ) {
fprintf(stderr, rfbClientLog(
"zlib inflate returned error: %d, msg: %s\n", "zlib inflate returned error: %d, msg: %s\n",
inflateResult, inflateResult,
decompStream.msg); decompStream.msg);
@ -129,7 +129,7 @@ HandleZlibBPP (rfbClient* client, int rx, int ry, int rw, int rh)
*/ */
if (( decompStream.avail_in > 0 ) && if (( decompStream.avail_in > 0 ) &&
( decompStream.avail_out <= 0 )) { ( decompStream.avail_out <= 0 )) {
fprintf(stderr,"zlib inflate ran out of space!\n"); rfbClientLog("zlib inflate ran out of space!\n");
return FALSE; return FALSE;
} }
@ -144,7 +144,7 @@ HandleZlibBPP (rfbClient* client, int rx, int ry, int rw, int rh)
} }
else { else {
fprintf(stderr, rfbClientLog(
"zlib inflate returned error: %d, msg: %s\n", "zlib inflate returned error: %d, msg: %s\n",
inflateResult, inflateResult,
decompStream.msg); decompStream.msg);

@ -548,7 +548,7 @@ rfbScreenInfoPtr rfbGetScreen(int* argc,char** argv,
INIT_MUTEX(logMutex); INIT_MUTEX(logMutex);
if(width&3) if(width&3)
fprintf(stderr,"WARNING: Width (%d) is not a multiple of 4. VncViewer has problems with that.\n",width); rfbLog("WARNING: Width (%d) is not a multiple of 4. VncViewer has problems with that.\n",width);
rfbScreen->autoPort=FALSE; rfbScreen->autoPort=FALSE;
rfbScreen->rfbClientHead=0; rfbScreen->rfbClientHead=0;
@ -816,7 +816,7 @@ void rfbRunEventLoop(rfbScreenInfoPtr rfbScreen, long usec, Bool runInBackground
pthread_create(&listener_thread, NULL, listenerRun, rfbScreen); pthread_create(&listener_thread, NULL, listenerRun, rfbScreen);
return; return;
#else #else
fprintf(stderr,"Can't run in background, because I don't have PThreads!\n"); rfbLog("Can't run in background, because I don't have PThreads!\n");
exit(-1); exit(-1);
#endif #endif
} }

@ -39,6 +39,10 @@
#include <rdr/FdInStream.h> #include <rdr/FdInStream.h>
#include <rdr/Exception.h> #include <rdr/Exception.h>
extern "C" {
extern void rfbLog(const char *format, ...);
}
using namespace rdr; using namespace rdr;
enum { DEFAULT_BUF_SIZE = 8192, enum { DEFAULT_BUF_SIZE = 8192,
@ -136,7 +140,7 @@ int FdInStream::checkReadable(int fd, int timeout)
int n = select(fd+1, &rfds, 0, 0, &tv); int n = select(fd+1, &rfds, 0, 0, &tv);
if (n != -1 || errno != EINTR) if (n != -1 || errno != EINTR)
return n; return n;
fprintf(stderr,"select returned EINTR\n"); rfbLog("select returned EINTR\n");
} }
} }
@ -184,7 +188,7 @@ int FdInStream::readWithTimeoutOrCallback(void* buf, int len)
n = ::read(fd, buf, len); n = ::read(fd, buf, len);
if (n != -1 || errno != EINTR) if (n != -1 || errno != EINTR)
break; break;
fprintf(stderr,"read returned EINTR\n"); rfbLog("read returned EINTR\n");
} }
if (n < 0) throw SystemException("read",errno); if (n < 0) throw SystemException("read",errno);
@ -192,17 +196,17 @@ int FdInStream::readWithTimeoutOrCallback(void* buf, int len)
if (timing) { if (timing) {
gettimeofday(&after, 0); gettimeofday(&after, 0);
// fprintf(stderr,"%d.%06d\n",(after.tv_sec - before.tv_sec), // rfbLog("%d.%06d\n",(after.tv_sec - before.tv_sec),
// (after.tv_usec - before.tv_usec)); // (after.tv_usec - before.tv_usec));
int newTimeWaited = ((after.tv_sec - before.tv_sec) * 10000 + int newTimeWaited = ((after.tv_sec - before.tv_sec) * 10000 +
(after.tv_usec - before.tv_usec) / 100); (after.tv_usec - before.tv_usec) / 100);
int newKbits = n * 8 / 1000; int newKbits = n * 8 / 1000;
// if (newTimeWaited == 0) { // if (newTimeWaited == 0) {
// fprintf(stderr,"new kbps infinite t %d k %d\n", // rfbLog("new kbps infinite t %d k %d\n",
// newTimeWaited, newKbits); // newTimeWaited, newKbits);
// } else { // } else {
// fprintf(stderr,"new kbps %d t %d k %d\n", // rfbLog("new kbps %d t %d k %d\n",
// newKbits * 10000 / newTimeWaited, newTimeWaited, newKbits); // newKbits * 10000 / newTimeWaited, newTimeWaited, newKbits);
// } // }

@ -20,6 +20,10 @@
#include <rdr/Exception.h> #include <rdr/Exception.h>
#include <zlib.h> #include <zlib.h>
extern "C" {
extern void rfbLog(const char *format, ...);
}
using namespace rdr; using namespace rdr;
enum { DEFAULT_BUF_SIZE = 16384 }; enum { DEFAULT_BUF_SIZE = 16384 };
@ -65,7 +69,7 @@ void ZlibOutStream::flush()
zs->next_in = start; zs->next_in = start;
zs->avail_in = ptr - start; zs->avail_in = ptr - start;
// fprintf(stderr,"zos flush: avail_in %d\n",zs->avail_in); // rfbLog("zos flush: avail_in %d\n",zs->avail_in);
while (zs->avail_in != 0) { while (zs->avail_in != 0) {
@ -74,12 +78,12 @@ void ZlibOutStream::flush()
zs->next_out = underlying->getptr(); zs->next_out = underlying->getptr();
zs->avail_out = underlying->getend() - underlying->getptr(); zs->avail_out = underlying->getend() - underlying->getptr();
// fprintf(stderr,"zos flush: calling deflate, avail_in %d, avail_out %d\n", // rfbLog("zos flush: calling deflate, avail_in %d, avail_out %d\n",
// zs->avail_in,zs->avail_out); // zs->avail_in,zs->avail_out);
int rc = deflate(zs, Z_SYNC_FLUSH); int rc = deflate(zs, Z_SYNC_FLUSH);
if (rc != Z_OK) throw Exception("ZlibOutStream: deflate failed"); if (rc != Z_OK) throw Exception("ZlibOutStream: deflate failed");
// fprintf(stderr,"zos flush: after deflate: %d bytes\n", // rfbLog("zos flush: after deflate: %d bytes\n",
// zs->next_out-underlying->getptr()); // zs->next_out-underlying->getptr());
underlying->setptr(zs->next_out); underlying->setptr(zs->next_out);
@ -92,7 +96,7 @@ void ZlibOutStream::flush()
int ZlibOutStream::overrun(int itemSize, int nItems) int ZlibOutStream::overrun(int itemSize, int nItems)
{ {
// fprintf(stderr,"ZlibOutStream overrun\n"); // rfbLog("ZlibOutStream overrun\n");
if (itemSize > bufSize) if (itemSize > bufSize)
throw Exception("ZlibOutStream overrun: max itemSize exceeded"); throw Exception("ZlibOutStream overrun: max itemSize exceeded");
@ -106,13 +110,13 @@ int ZlibOutStream::overrun(int itemSize, int nItems)
zs->next_out = underlying->getptr(); zs->next_out = underlying->getptr();
zs->avail_out = underlying->getend() - underlying->getptr(); zs->avail_out = underlying->getend() - underlying->getptr();
// fprintf(stderr,"zos overrun: calling deflate, avail_in %d, avail_out %d\n", // rfbLog("zos overrun: calling deflate, avail_in %d, avail_out %d\n",
// zs->avail_in,zs->avail_out); // zs->avail_in,zs->avail_out);
int rc = deflate(zs, 0); int rc = deflate(zs, 0);
if (rc != Z_OK) throw Exception("ZlibOutStream: deflate failed"); if (rc != Z_OK) throw Exception("ZlibOutStream: deflate failed");
// fprintf(stderr,"zos overrun: after deflate: %d bytes\n", // rfbLog("zos overrun: after deflate: %d bytes\n",
// zs->next_out-underlying->getptr()); // zs->next_out-underlying->getptr());
underlying->setptr(zs->next_out); underlying->setptr(zs->next_out);
@ -126,7 +130,7 @@ int ZlibOutStream::overrun(int itemSize, int nItems)
} else { } else {
// but didn't consume all the data? try shifting what's left to the // but didn't consume all the data? try shifting what's left to the
// start of the buffer. // start of the buffer.
fprintf(stderr,"z out buf not full, but in data not consumed\n"); rfbLog("z out buf not full, but in data not consumed\n");
memmove(start, zs->next_in, ptr - zs->next_in); memmove(start, zs->next_in, ptr - zs->next_in);
offset += zs->next_in - start; offset += zs->next_in - start;
ptr -= zs->next_in - start; ptr -= zs->next_in - start;

@ -44,16 +44,16 @@ extern "C"
#ifdef HAVE_LIBPTHREAD #ifdef HAVE_LIBPTHREAD
#include <pthread.h> #include <pthread.h>
#if 0 /* debugging */ #if 0 /* debugging */
#define LOCK(mutex) (fprintf(stderr,"%s:%d LOCK(%s,0x%x)\n",__FILE__,__LINE__,#mutex,&(mutex)), pthread_mutex_lock(&(mutex))) #define LOCK(mutex) (rfbLog("%s:%d LOCK(%s,0x%x)\n",__FILE__,__LINE__,#mutex,&(mutex)), pthread_mutex_lock(&(mutex)))
#define UNLOCK(mutex) (fprintf(stderr,"%s:%d UNLOCK(%s,0x%x)\n",__FILE__,__LINE__,#mutex,&(mutex)), pthread_mutex_unlock(&(mutex))) #define UNLOCK(mutex) (rfbLog("%s:%d UNLOCK(%s,0x%x)\n",__FILE__,__LINE__,#mutex,&(mutex)), pthread_mutex_unlock(&(mutex)))
#define MUTEX(mutex) pthread_mutex_t (mutex) #define MUTEX(mutex) pthread_mutex_t (mutex)
#define INIT_MUTEX(mutex) (fprintf(stderr,"%s:%d INIT_MUTEX(%s,0x%x)\n",__FILE__,__LINE__,#mutex,&(mutex)), pthread_mutex_init(&(mutex),NULL)) #define INIT_MUTEX(mutex) (rfbLog("%s:%d INIT_MUTEX(%s,0x%x)\n",__FILE__,__LINE__,#mutex,&(mutex)), pthread_mutex_init(&(mutex),NULL))
#define TINI_MUTEX(mutex) (fprintf(stderr,"%s:%d TINI_MUTEX(%s)\n",__FILE__,__LINE__,#mutex), pthread_mutex_destroy(&(mutex))) #define TINI_MUTEX(mutex) (rfbLog("%s:%d TINI_MUTEX(%s)\n",__FILE__,__LINE__,#mutex), pthread_mutex_destroy(&(mutex)))
#define TSIGNAL(cond) (fprintf(stderr,"%s:%d TSIGNAL(%s)\n",__FILE__,__LINE__,#cond), pthread_cond_signal(&(cond))) #define TSIGNAL(cond) (rfbLog("%s:%d TSIGNAL(%s)\n",__FILE__,__LINE__,#cond), pthread_cond_signal(&(cond)))
#define WAIT(cond,mutex) (fprintf(stderr,"%s:%d WAIT(%s,%s)\n",__FILE__,__LINE__,#cond,#mutex), pthread_cond_wait(&(cond),&(mutex))) #define WAIT(cond,mutex) (rfbLog("%s:%d WAIT(%s,%s)\n",__FILE__,__LINE__,#cond,#mutex), pthread_cond_wait(&(cond),&(mutex)))
#define COND(cond) pthread_cond_t (cond) #define COND(cond) pthread_cond_t (cond)
#define INIT_COND(cond) (fprintf(stderr,"%s:%d INIT_COND(%s)\n",__FILE__,__LINE__,#cond), pthread_cond_init(&(cond),NULL)) #define INIT_COND(cond) (rfbLog("%s:%d INIT_COND(%s)\n",__FILE__,__LINE__,#cond), pthread_cond_init(&(cond),NULL))
#define TINI_COND(cond) (fprintf(stderr,"%s:%d TINI_COND(%s)\n",__FILE__,__LINE__,#cond), pthread_cond_destroy(&(cond))) #define TINI_COND(cond) (rfbLog("%s:%d TINI_COND(%s)\n",__FILE__,__LINE__,#cond), pthread_cond_destroy(&(cond)))
#define IF_PTHREADS(x) x #define IF_PTHREADS(x) x
#else #else
#define LOCK(mutex) pthread_mutex_lock(&(mutex)); #define LOCK(mutex) pthread_mutex_lock(&(mutex));

@ -31,10 +31,10 @@
#include <rfb/rfbproto.h> #include <rfb/rfbproto.h>
#include <rfb/keysym.h> #include <rfb/keysym.h>
#define Swap16IfLE(s) \ #define rfbClientSwap16IfLE(s) \
(*(char *)&client->endianTest ? ((((s) & 0xff) << 8) | (((s) >> 8) & 0xff)) : (s)) (*(char *)&client->endianTest ? ((((s) & 0xff) << 8) | (((s) >> 8) & 0xff)) : (s))
#define Swap32IfLE(l) \ #define rfbClientSwap32IfLE(l) \
(*(char *)&client->endianTest ? ((((l) & 0xff000000) >> 24) | \ (*(char *)&client->endianTest ? ((((l) & 0xff000000) >> 24) | \
(((l) & 0x00ff0000) >> 8) | \ (((l) & 0x00ff0000) >> 8) | \
(((l) & 0x0000ff00) << 8) | \ (((l) & 0x0000ff00) << 8) | \
@ -92,7 +92,7 @@ struct _rfbClient;
typedef Bool (*HandleCursorPosProc)(struct _rfbClient* client, int x, int y); typedef Bool (*HandleCursorPosProc)(struct _rfbClient* client, int x, int y);
typedef void (*SoftCursorLockAreaProc)(struct _rfbClient* client, int x, int y, int w, int h); typedef void (*SoftCursorLockAreaProc)(struct _rfbClient* client, int x, int y, int w, int h);
typedef void (*SoftCursorUnlockScreenProc)(struct _rfbClient* client); typedef void (*SoftCursorUnlockScreenProc)(struct _rfbClient* client);
typedef void (*FramebufferUpdateReceivedProc)(struct _rfbClient* client, int x, int y, int w, int h); typedef void (*GotFrameBufferUpdateProc)(struct _rfbClient* client, int x, int y, int w, int h);
typedef char* (*GetPasswordProc)(struct _rfbClient* client); typedef char* (*GetPasswordProc)(struct _rfbClient* client);
typedef Bool (*MallocFrameBufferProc)(struct _rfbClient* client); typedef Bool (*MallocFrameBufferProc)(struct _rfbClient* client);
typedef void (*BellProc)(struct _rfbClient* client); typedef void (*BellProc)(struct _rfbClient* client);
@ -137,7 +137,7 @@ typedef struct _rfbClient {
HandleCursorPosProc HandleCursorPos; HandleCursorPosProc HandleCursorPos;
SoftCursorLockAreaProc SoftCursorLockArea; SoftCursorLockAreaProc SoftCursorLockArea;
SoftCursorUnlockScreenProc SoftCursorUnlockScreen; SoftCursorUnlockScreenProc SoftCursorUnlockScreen;
FramebufferUpdateReceivedProc FramebufferUpdateReceived; GotFrameBufferUpdateProc GotFrameBufferUpdate;
GetPasswordProc GetPassword; GetPasswordProc GetPassword;
MallocFrameBufferProc MallocFrameBuffer; MallocFrameBufferProc MallocFrameBuffer;
BellProc Bell; BellProc Bell;
@ -155,6 +155,8 @@ extern void listenForIncomingConnections(rfbClient* viewer);
/* rfbproto.c */ /* rfbproto.c */
extern Bool rfbEnableClientLogging;
extern void rfbClientLog(const char *format, ...);
extern Bool ConnectToRFBServer(rfbClient* client,const char *hostname, int port); extern Bool ConnectToRFBServer(rfbClient* client,const char *hostname, int port);
extern Bool InitialiseRFBConnection(rfbClient* client); extern Bool InitialiseRFBConnection(rfbClient* client);
extern Bool SetFormatAndEncodings(rfbClient* client); extern Bool SetFormatAndEncodings(rfbClient* client);
@ -174,13 +176,16 @@ extern void PrintPixelFormat(rfbPixelFormat *format);
extern Bool errorMessageOnReadFailure; extern Bool errorMessageOnReadFailure;
extern Bool ReadFromRFBServer(rfbClient* client, char *out, unsigned int n); extern Bool ReadFromRFBServer(rfbClient* client, char *out, unsigned int n);
extern Bool WriteExact(rfbClient* client, char *buf, int n); extern Bool WriteToRFBServer(rfbClient* client, char *buf, int n);
extern int FindFreeTcpPort(void); extern int FindFreeTcpPort(void);
extern int ListenAtTcpPort(int port); extern int ListenAtTcpPort(int port);
extern int ConnectToTcpAddr(unsigned int host, int port); extern int ConnectClientToTcpAddr(unsigned int host, int port);
extern int AcceptTcpConnection(int listenSock); extern int AcceptTcpConnection(int listenSock);
extern Bool SetNonBlocking(int sock); extern Bool SetNonBlocking(int sock);
extern Bool StringToIPAddr(const char *str, unsigned int *addr); extern Bool StringToIPAddr(const char *str, unsigned int *addr);
extern Bool SameMachine(int sock); extern Bool SameMachine(int sock);
/* vncviewer.c */
rfbClient* rfbGetClient(int* argc,char** argv,int bitsPerSample,int samplesPerPixel,int bytesPerPixel);
Bool rfbInitClient(rfbClient* client,const char* vncServerHost,int vncServerPort);

@ -1,4 +1,4 @@
/* rfb/rfbconfig.h.in. Generated automatically from configure.ac by autoheader. */ /* rfb/rfbconfig.h.in. Generated from configure.ac by autoheader. */
/* Enable 24 bit per pixel in native framebuffer */ /* Enable 24 bit per pixel in native framebuffer */
#undef ALLOW24BPP #undef ALLOW24BPP
@ -6,146 +6,161 @@
/* Enable BackChannel communication */ /* Enable BackChannel communication */
#undef BACKCHANNEL #undef BACKCHANNEL
/* Define if you have the <arpa/inet.h> header file. */ /* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H #undef HAVE_ARPA_INET_H
/* Define if you don't have `vprintf' but do have `_doprnt.' */ /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
#undef HAVE_DOPRNT #undef HAVE_DOPRNT
/* Define if you have the <fcntl.h> header file. */ /* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H #undef HAVE_FCNTL_H
/* Define if you have the `ftime' function. */ /* Define to 1 if you have the `ftime' function. */
#undef HAVE_FTIME #undef HAVE_FTIME
/* Define if you have the `gethostbyname' function. */ /* Define to 1 if you have the `gethostbyname' function. */
#undef HAVE_GETHOSTBYNAME #undef HAVE_GETHOSTBYNAME
/* Define if you have the `gethostname' function. */ /* Define to 1 if you have the `gethostname' function. */
#undef HAVE_GETHOSTNAME #undef HAVE_GETHOSTNAME
/* Define if you have the `gettimeofday' function. */ /* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY #undef HAVE_GETTIMEOFDAY
/* Define if you have the `inet_ntoa' function. */ /* Define to 1 if you have the `inet_ntoa' function. */
#undef HAVE_INET_NTOA #undef HAVE_INET_NTOA
/* Define if you have the <inttypes.h> header file. */ /* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H #undef HAVE_INTTYPES_H
/* Define if you have the `jpeg' library (-ljpeg). */ /* Define to 1 if you have the `jpeg' library (-ljpeg). */
#undef HAVE_LIBJPEG #undef HAVE_LIBJPEG
/* Define if you have the `nsl' library (-lnsl). */ /* Define to 1 if you have the `nsl' library (-lnsl). */
#undef HAVE_LIBNSL #undef HAVE_LIBNSL
/* Define if you have the `pthread' library (-lpthread). */ /* Define to 1 if you have the `pthread' library (-lpthread). */
#undef HAVE_LIBPTHREAD #undef HAVE_LIBPTHREAD
/* Define if you have the `socket' library (-lsocket). */ /* Define to 1 if you have the `socket' library (-lsocket). */
#undef HAVE_LIBSOCKET #undef HAVE_LIBSOCKET
/* Define if you have the `z' library (-lz). */ /* Define to 1 if you have the `z' library (-lz). */
#undef HAVE_LIBZ #undef HAVE_LIBZ
/* Define if your system has a working `malloc' function. */ /* Define to 1 if your system has a working `malloc' function. */
#undef HAVE_MALLOC #undef HAVE_MALLOC
/* Define if you have the `memmove' function. */ /* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE #undef HAVE_MEMMOVE
/* Define if you have the <memory.h> header file. */ /* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H #undef HAVE_MEMORY_H
/* Define if you have the `memset' function. */ /* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET #undef HAVE_MEMSET
/* Define if you have the `mkfifo' function. */ /* Define to 1 if you have the `mkfifo' function. */
#undef HAVE_MKFIFO #undef HAVE_MKFIFO
/* Define if you have the <netdb.h> header file. */ /* Define to 1 if you have the <netdb.h> header file. */
#undef HAVE_NETDB_H #undef HAVE_NETDB_H
/* Define if you have the <netinet/in.h> header file. */ /* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H #undef HAVE_NETINET_IN_H
/* Define if you have the `select' function. */ /* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT #undef HAVE_SELECT
/* Define if you have the `socket' function. */ /* Define to 1 if you have the `socket' function. */
#undef HAVE_SOCKET #undef HAVE_SOCKET
/* Define if `stat' has the bug that it succeeds when given the zero-length /* Define to 1 if `stat' has the bug that it succeeds when given the
file name argument. */ zero-length file name argument. */
#undef HAVE_STAT_EMPTY_STRING_BUG #undef HAVE_STAT_EMPTY_STRING_BUG
/* Define if you have the <stdint.h> header file. */ /* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H #undef HAVE_STDINT_H
/* Define if you have the <stdlib.h> header file. */ /* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H #undef HAVE_STDLIB_H
/* Define if you have the `strchr' function. */ /* Define to 1 if you have the `strchr' function. */
#undef HAVE_STRCHR #undef HAVE_STRCHR
/* Define if you have the `strcspn' function. */ /* Define to 1 if you have the `strcspn' function. */
#undef HAVE_STRCSPN #undef HAVE_STRCSPN
/* Define if you have the `strdup' function. */ /* Define to 1 if you have the `strdup' function. */
#undef HAVE_STRDUP #undef HAVE_STRDUP
/* Define if you have the `strerror' function. */ /* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR #undef HAVE_STRERROR
/* Define if you have the `strftime' function. */ /* Define to 1 if you have the `strftime' function. */
#undef HAVE_STRFTIME #undef HAVE_STRFTIME
/* Define if you have the <strings.h> header file. */ /* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H #undef HAVE_STRINGS_H
/* Define if you have the <string.h> header file. */ /* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H #undef HAVE_STRING_H
/* Define if you have the `strstr' function. */ /* Define to 1 if you have the `strstr' function. */
#undef HAVE_STRSTR #undef HAVE_STRSTR
/* Define if you have the <syslog.h> header file. */ /* Define to 1 if you have the <syslog.h> header file. */
#undef HAVE_SYSLOG_H #undef HAVE_SYSLOG_H
/* Define if you have the <sys/socket.h> header file. */ /* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H #undef HAVE_SYS_SOCKET_H
/* Define if you have the <sys/stat.h> header file. */ /* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H #undef HAVE_SYS_STAT_H
/* Define if you have the <sys/timeb.h> header file. */ /* Define to 1 if you have the <sys/timeb.h> header file. */
#undef HAVE_SYS_TIMEB_H #undef HAVE_SYS_TIMEB_H
/* Define if you have the <sys/time.h> header file. */ /* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H #undef HAVE_SYS_TIME_H
/* Define if you have the <sys/types.h> header file. */ /* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H #undef HAVE_SYS_TYPES_H
/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */ /* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H #undef HAVE_SYS_WAIT_H
/* Define if you have the <unistd.h> header file. */ /* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H #undef HAVE_UNISTD_H
/* Define if you have the `vprintf' function. */ /* Define to 1 if you have the `vprintf' function. */
#undef HAVE_VPRINTF #undef HAVE_VPRINTF
/* Use zrle compression; needs a c++ compiler */ /* Use zrle compression; needs a c++ compiler */
#undef HAVE_ZRLE #undef HAVE_ZRLE
/* Define if `lstat' dereferences a symlink specified with a trailing slash. /* Define to 1 if `lstat' dereferences a symlink specified with a trailing
*/ slash. */
#undef LSTAT_FOLLOWS_SLASHED_SYMLINK #undef LSTAT_FOLLOWS_SLASHED_SYMLINK
/* Name of package */ /* Name of package */
#undef PACKAGE #undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* The number of bytes in type char */ /* The number of bytes in type char */
#undef SIZEOF_CHAR #undef SIZEOF_CHAR
@ -161,20 +176,20 @@
/* The number of bytes in type void* */ /* The number of bytes in type void* */
#undef SIZEOF_VOIDP #undef SIZEOF_VOIDP
/* Define if you have the ANSI C header files. */ /* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS #undef STDC_HEADERS
/* Define if you can safely include both <sys/time.h> and <time.h>. */ /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME #undef TIME_WITH_SYS_TIME
/* Version number of package */ /* Version number of package */
#undef VERSION #undef VERSION
/* Define if your processor stores words with the most significant byte first /* Define to 1 if your processor stores words with the most significant byte
(like Motorola and SPARC, unlike Intel and VAX). */ first (like Motorola and SPARC, unlike Intel and VAX). */
#undef WORDS_BIGENDIAN #undef WORDS_BIGENDIAN
/* Define if the X Window System is missing or not being used. */ /* Define to 1 if the X Window System is missing or not being used. */
#undef X_DISPLAY_MISSING #undef X_DISPLAY_MISSING
/* Define to empty if `const' does not conform to ANSI C. */ /* Define to empty if `const' does not conform to ANSI C. */

@ -602,7 +602,6 @@ sraRegion *sraRgnBBox(const sraRegion *src) {
xmin=hcurr->start; xmin=hcurr->start;
if(hcurr->end>xmax) if(hcurr->end>xmax)
xmax=hcurr->end; xmax=hcurr->end;
fprintf(stderr,"%d,%d,%d,%d\n",hcurr->start,vcurr->start,hcurr->end,vcurr->end);
hcurr = hcurr->_next; hcurr = hcurr->_next;
} }
@ -761,7 +760,7 @@ Bool sraRgnIteratorNext(sraRectangleIterator* i,sraRect* r)
} }
if((i->ptrPos%4)!=2) { if((i->ptrPos%4)!=2) {
fprintf(stderr,"sraRgnIteratorNext: offset is wrong (%d%%4!=2)\n",i->ptrPos); rfbLog("sraRgnIteratorNext: offset is wrong (%d%%4!=2)\n",i->ptrPos);
exit(-1); exit(-1);
} }

@ -1214,16 +1214,17 @@ rfbSendFramebufferUpdate(cl, givenUpdateRegion)
fu->type = rfbFramebufferUpdate; fu->type = rfbFramebufferUpdate;
if (nUpdateRegionRects != 0xFFFF) { if (nUpdateRegionRects != 0xFFFF) {
if(cl->screen->maxRectsPerUpdate>0 if(cl->screen->maxRectsPerUpdate>0
/* Tight encoding counts the rectangles differently */
&& cl->preferredEncoding != rfbEncodingTight
&& nUpdateRegionRects>cl->screen->maxRectsPerUpdate) { && nUpdateRegionRects>cl->screen->maxRectsPerUpdate) {
sraRegion* newUpdateRegion = sraRgnBBox(updateRegion); sraRegion* newUpdateRegion = sraRgnBBox(updateRegion);
sraRgnDestroy(updateRegion); sraRgnDestroy(updateRegion);
updateRegion = newUpdateRegion; updateRegion = newUpdateRegion;
nUpdateRegionRects = sraRgnCountRects(updateRegion); nUpdateRegionRects = sraRgnCountRects(updateRegion);
} }
fu->nRects = Swap16IfLE((uint16_t)(sraRgnCountRects(updateCopyRegion) + fu->nRects = Swap16IfLE((uint16_t)(sraRgnCountRects(updateCopyRegion) +
nUpdateRegionRects + nUpdateRegionRects +
!!sendCursorShape + !!sendCursorPos)); !!sendCursorShape + !!sendCursorPos));
} else { } else {
fu->nRects = 0xFFFF; fu->nRects = 0xFFFF;
} }

@ -0,0 +1,6 @@
CFLAGS=-I.. -g -Wall
noinst_PROGRAMS=tight-1
LDADD = ../libvncserver.a ../libvncclient/libvncclient.a

@ -0,0 +1,300 @@
# Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@
AWK = @AWK@
CC = @CC@
CCLD = @CCLD@
CXX = @CXX@
DEPDIR = @DEPDIR@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
PACKAGE = @PACKAGE@
RANLIB = @RANLIB@
RPMSOURCEDIR = @RPMSOURCEDIR@
STRIP = @STRIP@
VERSION = @VERSION@
X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
CFLAGS = -I.. -g -Wall
noinst_PROGRAMS = tight-1
LDADD = ../libvncserver.a ../libvncclient/libvncclient.a
subdir = test
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/rfb/rfbconfig.h
CONFIG_CLEAN_FILES =
noinst_PROGRAMS = tight-1$(EXEEXT)
PROGRAMS = $(noinst_PROGRAMS)
tight_1_SOURCES = tight-1.c
tight_1_OBJECTS = tight-1.$(OBJEXT)
tight_1_LDADD = $(LDADD)
tight_1_DEPENDENCIES = ../libvncserver.a ../libvncclient/libvncclient.a
tight_1_LDFLAGS =
DEFS = @DEFS@
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/rfb
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/tight-1.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = tight-1.c
DIST_COMMON = Makefile.am Makefile.in
SOURCES = tight-1.c
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu test/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
clean-noinstPROGRAMS:
-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
tight-1$(EXEEXT): $(tight_1_OBJECTS) $(tight_1_DEPENDENCIES)
@rm -f tight-1$(EXEEXT)
$(LINK) $(tight_1_LDFLAGS) $(tight_1_OBJECTS) $(tight_1_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tight-1.Po@am__quote@
distclean-depend:
-rm -rf ./$(DEPDIR)
.c.o:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `cygpath -w $<`
CCDEPMODE = @CCDEPMODE@
uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am
distclean: distclean-am
distclean-am: clean-am distclean-compile distclean-depend \
distclean-generic distclean-tags
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am:
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
uninstall-am: uninstall-info-am
.PHONY: GTAGS all all-am check check-am clean clean-generic \
clean-noinstPROGRAMS distclean distclean-compile \
distclean-depend distclean-generic distclean-tags distdir dvi \
dvi-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic tags uninstall uninstall-am \
uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

@ -19,7 +19,7 @@ int main(int argc,char** argv)
for(i=0;i<300;i+=10) for(i=0;i<300;i+=10)
rfbMarkRectAsModified(server,i,j,i+5,j+5); rfbMarkRectAsModified(server,i,j,i+5,j+5);
rfbProcessEvents(server,50); rfbProcessEvents(server,5000);
} }
return(0); return(0);
} }

@ -225,6 +225,8 @@ rfbSendRectEncodingTight(cl, x, y, w, h)
int x_best, y_best, w_best, h_best; int x_best, y_best, w_best, h_best;
char *fbptr; char *fbptr;
rfbSendUpdateBuf(cl);
compressLevel = cl->tightCompressLevel; compressLevel = cl->tightCompressLevel;
qualityLevel = cl->tightQualityLevel; qualityLevel = cl->tightQualityLevel;
@ -952,8 +954,8 @@ static Bool SendCompressedData(cl, compressedLen)
memcpy(&cl->updateBuf[cl->ublen], &tightAfterBuf[i], portionLen); memcpy(&cl->updateBuf[cl->ublen], &tightAfterBuf[i], portionLen);
cl->ublen += portionLen; cl->ublen += portionLen;
} }
portionLen = UPDATE_BUF_SIZE;
cl->rfbBytesSent[rfbEncodingTight] += compressedLen; cl->rfbBytesSent[rfbEncodingTight] += compressedLen;
return TRUE; return TRUE;
} }

@ -48,7 +48,7 @@ void do_key(Bool down,KeySym keySym,rfbClientPtr cl)
if(keySym<0x100) { if(keySym<0x100) {
int ret; int ret;
//fprintf(stderr,"do_key: %c (0x%lx)\n",(char)keySym,keySym); //rfbLog("do_key: %c (0x%lx)\n",(char)keySym,keySym);
ret=ioctl(tty_inject_device,TIOCSTI,&keySym); ret=ioctl(tty_inject_device,TIOCSTI,&keySym);
if(ret<0) { if(ret<0) {
static char device[64]; static char device[64];
@ -57,7 +57,7 @@ void do_key(Bool down,KeySym keySym,rfbClientPtr cl)
tty_inject_device=open(device,O_WRONLY); tty_inject_device=open(device,O_WRONLY);
ret=ioctl(tty_inject_device,TIOCSTI,&keySym); ret=ioctl(tty_inject_device,TIOCSTI,&keySym);
if(ret<0) if(ret<0)
fprintf(stderr,"Couldn't reopen device %s!\n",device); rfbLog("Couldn't reopen device %s!\n",device);
} }
} }
} }
@ -88,7 +88,7 @@ int main(int argc,char **argv)
if(argc>1) { if(argc>1) {
if((tty=atoi(argv[1]))<1) { if((tty=atoi(argv[1]))<1) {
fprintf(stderr,"Usage: %s [tty_number [vnc args]]\n",argv[0]); rfbLog("Usage: %s [tty_number [vnc args]]\n",argv[0]);
exit(1); exit(1);
} else { } else {
argv++; argv++;
@ -100,10 +100,10 @@ int main(int argc,char **argv)
sprintf(tty_device,"/dev/tty%d",tty); sprintf(tty_device,"/dev/tty%d",tty);
if((tty_inject_device=open(tty_device,O_WRONLY))<0) { if((tty_inject_device=open(tty_device,O_WRONLY))<0) {
fprintf(stderr,"Couldn't open tty device %s!\n",tty_device); rfbLog("Couldn't open tty device %s!\n",tty_device);
exit(1); exit(1);
} }
fprintf(stderr,"Using device %s.\n",tty_device); rfbLog("Using device %s.\n",tty_device);
if(ioctl(tty_inject_device,TIOCGWINSZ,&dimensions)>=0) { if(ioctl(tty_inject_device,TIOCGWINSZ,&dimensions)>=0) {
width=dimensions.ws_col; width=dimensions.ws_col;
@ -142,7 +142,7 @@ int main(int argc,char **argv)
if(!console->currentlyMarking) { if(!console->currentlyMarking) {
tty_file=fopen(tty_device,"rb"); tty_file=fopen(tty_device,"rb");
if(!tty_file) { if(!tty_file) {
fprintf(stderr,"cannot open device \"%s\"\n", rfbLog("cannot open device \"%s\"\n",
tty_device); tty_device);
exit(1); exit(1);
} }
@ -166,7 +166,7 @@ int main(int argc,char **argv)
console->x=(i%console->width); console->x=(i%console->width);
console->y=(i/console->width); console->y=(i/console->width);
/* /*
fprintf(stderr,"changes: %d,%d (%d!=%d || %d!=%d)\n", rfbLog("changes: %d,%d (%d!=%d || %d!=%d)\n",
console->x,console->y, console->x,console->y,
buffer[4+2*i],console->screenBuffer[i], buffer[4+2*i],console->screenBuffer[i],
buffer[5+2*i],console->attributeBuffer[i]); buffer[5+2*i],console->attributeBuffer[i]);

@ -1,6 +1,7 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am. # Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -12,7 +13,6 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
@SET_MAKE@ @SET_MAKE@
SHELL = @SHELL@ SHELL = @SHELL@
srcdir = @srcdir@ srcdir = @srcdir@
@ -43,9 +43,13 @@ AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA) INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@ transform = @program_transform_name@
@ -55,18 +59,21 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AWK = @AWK@ AWK = @AWK@
CC = @CC@ CC = @CC@
CCLD = @CCLD@ CCLD = @CCLD@
CXX = @CXX@ CXX = @CXX@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
EXEEXT = @EXEEXT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
RANLIB = @RANLIB@ RANLIB = @RANLIB@
RPMSOURCEDIR = @RPMSOURCEDIR@ RPMSOURCEDIR = @RPMSOURCEDIR@
STRIP = @STRIP@
VERSION = @VERSION@ VERSION = @VERSION@
X_CFLAGS = @X_CFLAGS@ X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
@ -75,7 +82,6 @@ X_PRE_LIBS = @X_PRE_LIBS@
am__include = @am__include@ am__include = @am__include@
am__quote = @am__quote@ am__quote = @am__quote@
install_sh = @install_sh@ install_sh = @install_sh@
CONSOLE_SRCS = VNConsole.c CONSOLE_SRCS = VNConsole.c
noinst_HEADERS = VNConsole.h vga.h noinst_HEADERS = VNConsole.h vga.h
@ -100,18 +106,18 @@ CONFIG_CLEAN_FILES =
noinst_PROGRAMS = VNCommand$(EXEEXT) example$(EXEEXT) noinst_PROGRAMS = VNCommand$(EXEEXT) example$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
@LINUX_TRUE@am_LinuxVNC_OBJECTS = LinuxVNC.$(OBJEXT) VNConsole.$(OBJEXT) am__objects_1 = VNConsole.$(OBJEXT)
@LINUX_FALSE@am_LinuxVNC_OBJECTS = @LINUX_TRUE@am_LinuxVNC_OBJECTS = LinuxVNC.$(OBJEXT) $(am__objects_1)
LinuxVNC_OBJECTS = $(am_LinuxVNC_OBJECTS) LinuxVNC_OBJECTS = $(am_LinuxVNC_OBJECTS)
LinuxVNC_LDADD = $(LDADD) LinuxVNC_LDADD = $(LDADD)
LinuxVNC_DEPENDENCIES = ../libvncserver.a LinuxVNC_DEPENDENCIES = ../libvncserver.a
LinuxVNC_LDFLAGS = LinuxVNC_LDFLAGS =
am_VNCommand_OBJECTS = VNCommand.$(OBJEXT) VNConsole.$(OBJEXT) am_VNCommand_OBJECTS = VNCommand.$(OBJEXT) $(am__objects_1)
VNCommand_OBJECTS = $(am_VNCommand_OBJECTS) VNCommand_OBJECTS = $(am_VNCommand_OBJECTS)
VNCommand_LDADD = $(LDADD) VNCommand_LDADD = $(LDADD)
VNCommand_DEPENDENCIES = ../libvncserver.a VNCommand_DEPENDENCIES = ../libvncserver.a
VNCommand_LDFLAGS = VNCommand_LDFLAGS =
am_example_OBJECTS = example.$(OBJEXT) VNConsole.$(OBJEXT) am_example_OBJECTS = example.$(OBJEXT) $(am__objects_1)
example_OBJECTS = $(am_example_OBJECTS) example_OBJECTS = $(am_example_OBJECTS)
example_LDADD = $(LDADD) example_LDADD = $(LDADD)
example_DEPENDENCIES = ../libvncserver.a example_DEPENDENCIES = ../libvncserver.a
@ -123,8 +129,9 @@ CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBS = @LIBS@ LIBS = @LIBS@
depcomp = $(SHELL) $(top_srcdir)/depcomp depcomp = $(SHELL) $(top_srcdir)/depcomp
@AMDEP_TRUE@DEP_FILES = $(DEPDIR)/LinuxVNC.Po $(DEPDIR)/VNCommand.Po \ am__depfiles_maybe = depfiles
@AMDEP_TRUE@ $(DEPDIR)/VNConsole.Po $(DEPDIR)/example.Po @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/LinuxVNC.Po ./$(DEPDIR)/VNCommand.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/VNConsole.Po ./$(DEPDIR)/example.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
@ -144,9 +151,8 @@ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnu vncterm/Makefile $(AUTOMAKE) --gnu vncterm/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
CONFIG_HEADERS= CONFIG_LINKS= \ binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
install-binPROGRAMS: $(bin_PROGRAMS) install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir) $(mkinstalldirs) $(DESTDIR)$(bindir)
@ -154,16 +160,16 @@ install-binPROGRAMS: $(bin_PROGRAMS)
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \ if test -f $$p \
; then \ ; then \
f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \ echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \ $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \
else :; fi; \ else :; fi; \
done done
uninstall-binPROGRAMS: uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; for p in $$list; do \ @list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
rm -f $(DESTDIR)$(bindir)/$$f; \ rm -f $(DESTDIR)$(bindir)/$$f; \
done done
@ -189,19 +195,19 @@ mostlyclean-compile:
distclean-compile: distclean-compile:
-rm -f *.tab.c -rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/LinuxVNC.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LinuxVNC.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/VNCommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/VNCommand.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/VNConsole.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/VNConsole.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/example.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/example.Po@am__quote@
distclean-depend: distclean-depend:
-rm -rf $(DEPDIR) -rm -rf ./$(DEPDIR)
.c.o: .c.o:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$< $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj: .c.obj:
@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@ -211,53 +217,61 @@ distclean-depend:
CCDEPMODE = @CCDEPMODE@ CCDEPMODE = @CCDEPMODE@
uninstall-info-am: uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
tags: TAGS tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique $(LISP) mkid -fID $$unique
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP) || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS: GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \ here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \ && cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here && gtags -i $(GTAGS_ARGS) $$here
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .. top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \ fi; \
if test -d $$d/$$file; then \ if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|| exit 1; \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \ else \
test -f $(distdir)/$$file \ test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \
@ -282,6 +296,7 @@ install-am: all-am
installcheck: installcheck-am installcheck: installcheck-am
install-strip: install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \ `test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic: mostlyclean-generic:
@ -289,7 +304,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* -rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"

@ -35,7 +35,7 @@ int main(int argc, char **argv)
if(programArg0<argc) { if(programArg0<argc) {
int in[2],out[2],err[2],pid; int in[2],out[2],err[2],pid;
if(pipe(in)<0 || pipe(out)<0 || pipe(err)<0) { if(pipe(in)<0 || pipe(out)<0 || pipe(err)<0) {
fprintf(stderr,"Couldn't make pipes!"); rfbLog("Couldn't make pipes!");
return(1); return(1);
} }
@ -118,6 +118,6 @@ int main(int argc, char **argv)
} }
} }
} }
fprintf(stderr,"exit\n"); rfbLog("exit\n");
return(0); return(0);
} }

@ -52,7 +52,7 @@ void vcDrawCursor(vncConsolePtr c)
{ {
rfbDrawCursor(c->rfbScreen); rfbDrawCursor(c->rfbScreen);
if(c->cursorActive && !c->cursorIsDrawn && c->y<c->height && c->x<c->width) { if(c->cursorActive && !c->cursorIsDrawn && c->y<c->height && c->x<c->width) {
/* fprintf(stderr,"DrawCursor: %d,%d\n",c->x,c->y); */ /* rfbLog("DrawCursor: %d,%d\n",c->x,c->y); */
vcDrawOrHideCursor(c); vcDrawOrHideCursor(c);
} }
} }
@ -63,7 +63,7 @@ void vcHideCursor(vncConsolePtr c)
if(c->currentlyMarking) if(c->currentlyMarking)
vcUnmark(c); vcUnmark(c);
if(c->cursorIsDrawn) { if(c->cursorIsDrawn) {
/* fprintf(stderr,"HideCursor: %d,%d\n",c->x,c->y); */ /* rfbLog("HideCursor: %d,%d\n",c->x,c->y); */
vcDrawOrHideCursor(c); vcDrawOrHideCursor(c);
} }
} }
@ -158,7 +158,7 @@ void vcScroll(vncConsolePtr c,int lineCount)
if(lineCount==0) if(lineCount==0)
return; return;
/* fprintf(stderr,"begin scroll\n"); */ /* rfbLog("begin scroll\n"); */
vcHideCursor(c); vcHideCursor(c);
c->dontDrawCursor=TRUE; c->dontDrawCursor=TRUE;
@ -197,7 +197,7 @@ void vcScroll(vncConsolePtr c,int lineCount)
memset(c->attributeBuffer+y1/c->cHeight*c->width,0x07, memset(c->attributeBuffer+y1/c->cHeight*c->width,0x07,
(y2-y1)/c->cHeight*c->width); (y2-y1)/c->cHeight*c->width);
#endif #endif
/* fprintf(stderr,"end scroll\n"); */ /* rfbLog("end scroll\n"); */
} }
void vcCheckCoordinates(vncConsolePtr c) void vcCheckCoordinates(vncConsolePtr c)
@ -256,7 +256,7 @@ void vcPutCharColour(vncConsolePtr c,unsigned char ch,unsigned char foreColour,u
} while(c->x%8); } while(c->x%8);
break; break;
default: default:
fprintf(stderr,"putchar of unknown character: %c(%d).\n",ch,ch); rfbLog("putchar of unknown character: %c(%d).\n",ch,ch);
vcPutChar(c,' '); vcPutChar(c,' ');
} }
} else { } else {
@ -420,7 +420,7 @@ void vcPtrAddEventProc(int buttonMask,int x,int y,rfbClientPtr cl)
c->markEnd=pos; c->markEnd=pos;
vcToggleMarkCell(c,pos); vcToggleMarkCell(c,pos);
} else { } else {
DEBUG(fprintf(stderr,"markStart: %d, markEnd: %d, pos: %d\n", DEBUG(rfbLog("markStart: %d, markEnd: %d, pos: %d\n",
c->markStart,c->markEnd,pos)); c->markStart,c->markEnd,pos));
if(c->markEnd!=pos) { if(c->markEnd!=pos) {
if(c->markEnd<pos) { if(c->markEnd<pos) {

@ -19,7 +19,7 @@ int main(int argc,char **argv)
l=strlen(buffer)-1; l=strlen(buffer)-1;
while(l>=0 && buffer[l]=='\n') while(l>=0 && buffer[l]=='\n')
buffer[l]=0; buffer[l]=0;
//fprintf(stderr,"%s (%d)",buffer,strlen(buffer)); //rfbLog("%s (%d)",buffer,strlen(buffer));
if(!strcmp(buffer,"quit")) if(!strcmp(buffer,"quit"))
return(0); return(0);
if(!strcmp(buffer,"s")) if(!strcmp(buffer,"s"))

Loading…
Cancel
Save