From de95a5686823e807820eefc0a7b0e05eb7a1afbc Mon Sep 17 00:00:00 2001 From: runge Date: Fri, 14 May 2004 15:25:26 +0000 Subject: [PATCH] x11vnc: less fprintf under -q so '-q -inetd' has no stderr output. --- contrib/ChangeLog | 3 ++- contrib/x11vnc.c | 65 ++++++++++++++++++++++++++++++----------------- 2 files changed, 43 insertions(+), 25 deletions(-) diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 1c7f15b..04d6575 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,5 +1,6 @@ -2004-05-13 Karl Runge +2004-05-14 Karl Runge * improvements to -accept popup: yes/no buttons and timeout. + * less fprintf under -q so '-q -inetd' has no stderr output. 2004-05-08 Karl Runge * add -accept some-command/xmessage/popup to prompt local X11 user diff --git a/contrib/x11vnc.c b/contrib/x11vnc.c index dba150b..074904f 100644 --- a/contrib/x11vnc.c +++ b/contrib/x11vnc.c @@ -131,7 +131,7 @@ #endif /* date +'"lastmod: %Y-%m-%d";' */ -char lastmod[] = "lastmod: 2004-05-13"; +char lastmod[] = "lastmod: 2004-05-14"; /* X and rfb framebuffer */ @@ -2928,8 +2928,10 @@ void set_colormap(void) { } if (first && ncells != NCOLOR) { - fprintf(stderr, "set_colormap: number of cells is %d" - " instead of %d.\n", ncells, NCOLOR); + if (! quiet) { + fprintf(stderr, "set_colormap: number of cells is %d " + "instead of %d.\n", ncells, NCOLOR); + } screen->colourMap.count = ncells; } @@ -2955,7 +2957,7 @@ void set_colormap(void) { } } } - if (ncells > NCOLOR) { + if (ncells > NCOLOR && ! quiet) { fprintf(stderr, "set_colormap: big problem: ncells=%d > %d\n", ncells, NCOLOR); } @@ -3014,7 +3016,9 @@ void set_visual(char *vstring) { XVisualInfo vinfo; char *p; - fprintf(stderr, "set_visual: %s\n", vstring); + if (! quiet) { + fprintf(stderr, "set_visual: %s\n", vstring); + } if ((p = strchr(vstring, ':')) != NULL) { visual_depth = atoi(p+1); @@ -3090,7 +3094,9 @@ void initialize_screen(int *argc, char **argv, XImage *fb) { screen = rfbGetScreen(argc, argv, fb->width, fb->height, fb->bits_per_pixel, 8, fb->bits_per_pixel/8); - fprintf(stderr, "\n"); + if (! quiet) { + fprintf(stderr, "\n"); + } if (! screen) { int i; @@ -3412,20 +3418,18 @@ void blackout_tiles() { } void initialize_xinerama () { -#ifdef LIBVNCSERVER_HAVE_LIBXINERAMA +#ifndef LIBVNCSERVER_HAVE_LIBXINERAMA + rfbLog("Xinerama: Library libXinerama is not available to determine\n"); + rfbLog("Xinerama: the head geometries, consider using -blackout\n"); + rfbLog("Xinerama: if the screen is non-rectangular.\n"); +#else XineramaScreenInfo *sc, *xineramas; -#endif sraRegionPtr black_region, tmp_region; sraRectangleIterator *iter; sraRect rect; char *bstr, *tstr; int ev, er, i, n, rcnt; -#ifndef LIBVNCSERVER_HAVE_LIBXINERAMA - rfbLog("Xinerama: Library libXinerama is not available to determine\n"); - rfbLog("Xinerama: the head geometries, consider using -blackout\n"); - rfbLog("Xinerama: if the screen is non-rectangular.\n"); -#else if (! XineramaQueryExtension(dpy, &ev, &er)) { rfbLog("Xinerama: disabling: display does not support it.\n"); xinerama = 0; @@ -3508,7 +3512,6 @@ void initialize_xinerama () { free(bstr); free(tstr); #endif - } /* @@ -5448,6 +5451,8 @@ void print_help() { " or popup is running (other clients may see no updates\n" " during this period).\n" "-inetd Launched by inetd(1): stdio instead of listening socket.\n" +" Note: if you are not redirecting stderr to a log file\n" +" you must also specify -q as the first argument.\n" "\n" "-noshm Do not use the MIT-SHM extension for the polling.\n" " remote displays can be polled this way: be careful\n" @@ -5461,7 +5466,8 @@ void print_help() { " together via XINERAMA, and that screen is non-rectangular\n" " this option will try to guess the areas to black out.\n" "\n" -"-q Be quiet by printing less informational output.\n" +"-q Be quiet by printing less informational output to stderr.\n" +" Same as -quiet\n" "-bg Go into the background after screen setup.\n" " Something like this could be useful in a script:\n" " port=`ssh $host \"x11vnc -display :0 -bg\" | grep PORT`\n" @@ -5641,7 +5647,7 @@ int limit_shm(void) { } } } - if (limit) { + if (limit && ! quiet) { fprintf(stderr, "reducing shm usage on %s %s (adding " "-onetile)\n", ut.sysname, ut.release); } @@ -5837,7 +5843,7 @@ int main(int argc, char** argv) { got_nevershared = 1; } /* otherwise copy it for use below. */ - if (! quiet && i != pw_loc && i != pw_loc+1) { + if (!quiet && !inetd && i != pw_loc && i != pw_loc+1) { fprintf(stderr, "passing arg to libvncserver: %s\n", arg); } @@ -5867,7 +5873,10 @@ int main(int argc, char** argv) { /* fixup settings that do not make sense */ if (use_threads && nofb && cursor_pos) { - fprintf(stderr, "disabling -threads under -nofb -cursorpos\n"); + if (! quiet) { + fprintf(stderr, "disabling -threads under -nofb " + "-cursorpos\n"); + } use_threads = 0; } if (tile_fuzz < 1) { @@ -6016,8 +6025,10 @@ int main(int argc, char** argv) { /* check for MIT-SHM */ if (! nofb && ! XShmQueryExtension(dpy)) { if (! using_shm) { - fprintf(stderr, "warning: display does not support " - "XShm.\n"); + if (! quiet) { + fprintf(stderr, "warning: display does not " + "support XShm.\n"); + } } else { fprintf(stderr, "Display does not support XShm " "extension (must be local).\n"); @@ -6032,7 +6043,9 @@ int main(int argc, char** argv) { /* check for XKEYBOARD */ if (watch_bell) { if (! XkbQueryExtension(dpy, &op, &ev, &er, &maj, &min)) { - fprintf(stderr, "warning: disabling bell.\n"); + if (! quiet) { + fprintf(stderr, "warning: disabling bell.\n"); + } watch_bell = 0; } else { initialize_watch_bell(); @@ -6074,8 +6087,10 @@ int main(int argc, char** argv) { /* show_mouse has some segv crashes as well */ if (show_root_cursor) { show_root_cursor = 0; - fprintf(stderr, "disabling root cursor drawing for " - "subwindow\n"); + if (! quiet) { + fprintf(stderr, "disabling root cursor drawing" + " for subwindow\n"); + } } set_offset(); @@ -6201,7 +6216,9 @@ int main(int argc, char** argv) { int port = screen->rfbPort; if (host != NULL) { /* note that vncviewer special cases 5900-5999 */ - if (quiet) { + if (inetd) { + ; /* should not occur */ + } else if (quiet) { if (port >= 5900) { fprintf(stderr, "The VNC desktop is " "%s:%d\n", host, port - 5900);