Module Name: xsrc Committed By: mrg Date: Sun Jan 8 09:59:52 UTC 2023
Modified Files: xsrc/external/mit/xinit/dist: compile startx.cpp xinit.c xsrc/external/mit/xinit/dist/man: startx.man xsrc/external/mit/xprop/include: config.h xsrc/external/mit/xrandr/dist: compile xrandr.c xsrc/external/mit/xstdcmap/dist: compile Removed Files: xsrc/external/mit/xinit/dist/launchd: console_redirect.c console_redirect.h xsrc/external/mit/xrandr/dist: README xsrc/external/mit/xset/dist: README Log Message: merge xinit 1.4.2, xprop 1.2.6, xrandr 1.5.2, xset 1.2.5, and xstdcmap 1.0.5 To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 xsrc/external/mit/xinit/dist/compile cvs rdiff -u -r1.9 -r1.10 xsrc/external/mit/xinit/dist/startx.cpp cvs rdiff -u -r1.8 -r1.9 xsrc/external/mit/xinit/dist/xinit.c cvs rdiff -u -r1.1.1.1 -r0 \ xsrc/external/mit/xinit/dist/launchd/console_redirect.c \ xsrc/external/mit/xinit/dist/launchd/console_redirect.h cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/xinit/dist/man/startx.man cvs rdiff -u -r1.7 -r1.8 xsrc/external/mit/xprop/include/config.h cvs rdiff -u -r1.1.1.2 -r0 xsrc/external/mit/xrandr/dist/README cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/xrandr/dist/compile cvs rdiff -u -r1.14 -r1.15 xsrc/external/mit/xrandr/dist/xrandr.c cvs rdiff -u -r1.1.1.2 -r0 xsrc/external/mit/xset/dist/README cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/xstdcmap/dist/compile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: xsrc/external/mit/xinit/dist/compile diff -u xsrc/external/mit/xinit/dist/compile:1.4 xsrc/external/mit/xinit/dist/compile:1.5 --- xsrc/external/mit/xinit/dist/compile:1.4 Sun Mar 11 10:46:02 2018 +++ xsrc/external/mit/xinit/dist/compile Sun Jan 8 09:59:51 2023 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2012-10-14.11; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ scriptversion=2012-10-14.11; # UTC # 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, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -53,7 +53,7 @@ func_file_conv () MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -67,7 +67,7 @@ func_file_conv () mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/*) + cygwin/* | msys/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) @@ -255,7 +255,8 @@ EOF echo "compile $scriptversion" exit $? ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac @@ -339,9 +340,9 @@ exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: Index: xsrc/external/mit/xinit/dist/startx.cpp diff -u xsrc/external/mit/xinit/dist/startx.cpp:1.9 xsrc/external/mit/xinit/dist/startx.cpp:1.10 --- xsrc/external/mit/xinit/dist/startx.cpp:1.9 Thu Apr 7 20:28:49 2022 +++ xsrc/external/mit/xinit/dist/startx.cpp Sun Jan 8 09:59:51 2023 @@ -2,16 +2,16 @@ XCOMM!SHELL_CMD XCOMM XCOMM This is just a sample implementation of a slightly less primitive -XCOMM interface than xinit. It looks for user .xinitrc and .xserverrc -XCOMM files, then system xinitrc and xserverrc files, else lets xinit choose -XCOMM its default. The system xinitrc should probably do things like check -XCOMM for .Xresources files and merge them in, start up a window manager, -XCOMM and pop a clock and several xterms. +XCOMM interface than xinit. It looks for XINITRC and XSERVERRC environment +XCOMM variables, then user .xinitrc and .xserverrc files, and then system +XCOMM xinitrc and xserverrc files, else lets xinit choose its default. +XCOMM The system xinitrc should probably do things like check for +XCOMM .Xresources files and merge them in, start up a window manager, and +XCOMM pop a clock and several xterms. XCOMM XCOMM Site administrators are STRONGLY urged to write nicer versions. XCOMM -unset DBUS_SESSION_BUS_ADDRESS unset SESSION_MANAGER #ifdef __APPLE__ @@ -48,9 +48,11 @@ export PATH #endif userclientrc=$HOME/.xinitrc +[ -f "${XINITRC}" ] && userclientrc="${XINITRC}" sysclientrc=XINITDIR/xinitrc userserverrc=$HOME/.xserverrc +[ -f "${XSERVERRC}" ] && userclientrc="${XSERVERRC}" sysserverrc=XINITDIR/xserverrc defaultclient=XTERM defaultserver=XSERVER @@ -87,17 +89,17 @@ fi XCOMM First, start caching fonts if [ x`defaults read $X11_PREFS_DOMAIN cache_fonts` = x1 ] ; then if [ -x $bindir/font_cache ] ; then - $bindir/font_cache & + $bindir/font_cache elif [ -x $bindir/font_cache.sh ] ; then - $bindir/font_cache.sh & + $bindir/font_cache.sh elif [ -x $bindir/fc-cache ] ; then - $bindir/fc-cache & + $bindir/fc-cache fi fi if [ -x __libexecdir__/privileged_startx ] ; then - # Don't push this into the background becasue it can cause - # a race to create /tmp/.X11-unix + XCOMM Don't push this into the background because it can cause + XCOMM a race to create /tmp/.X11-unix __libexecdir__/privileged_startx fi @@ -114,7 +116,7 @@ else fi if [ x`defaults read $X11_PREFS_DOMAIN enable_iglx` = x1 ] ; then - defaultserverargs="$defaultserverargs +iglx" + defaultserverargs="$defaultserverargs +iglx +extension GLX" else defaultserverargs="$defaultserverargs -iglx" fi @@ -206,7 +208,7 @@ if [ x"$server" = x ]; then XCOMM "https://bugzilla.redhat.com/show_bug.cgi?id=806491" tty=$(tty) if expr "$tty" : '/dev/tty[0-9][0-9]*$' > /dev/null; then - tty_num=$(echo "$tty" | grep -oE '[0-9]+$') + tty_num=${tty#/dev/tty} vtarg="vt$tty_num -keeptty" fi #endif @@ -251,18 +253,7 @@ if [ x"$enable_xauth" = x1 ] ; then removelist= XCOMM set up default Xauth info for this machine - case `uname` in - Linux*) - if [ -z "`hostname --version 2>&1 | grep GNU`" ]; then - hostname=`hostname -f` - else - hostname=`hostname` - fi - ;; - *) - hostname=`hostname` - ;; - esac + hostname=`uname -n` authdisplay=${display:-:0} #if defined(HAS_COOKIE_MAKER) && defined(MK_COOKIE) Index: xsrc/external/mit/xinit/dist/xinit.c diff -u xsrc/external/mit/xinit/dist/xinit.c:1.8 xsrc/external/mit/xinit/dist/xinit.c:1.9 --- xsrc/external/mit/xinit/dist/xinit.c:1.8 Sun Mar 3 21:38:01 2019 +++ xsrc/external/mit/xinit/dist/xinit.c Sun Jan 8 09:59:51 2023 @@ -263,7 +263,6 @@ main(int argc, char *argv[]) /* * Start the server and client. */ - signal(SIGCHLD, SIG_DFL); /* Insurance */ /* Let those signal interrupt the wait() call in the main loop */ memset(&sa, 0, sizeof sa); @@ -284,6 +283,7 @@ main(int argc, char *argv[]) sigaction(SIGALRM, &si, NULL); sigaction(SIGUSR1, &si, NULL); + sigaction(SIGCHLD, &si, NULL); #ifdef __APPLE__ #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 Index: xsrc/external/mit/xinit/dist/man/startx.man diff -u xsrc/external/mit/xinit/dist/man/startx.man:1.2 xsrc/external/mit/xinit/dist/man/startx.man:1.3 --- xsrc/external/mit/xinit/dist/man/startx.man:1.2 Mon Mar 11 05:08:42 2019 +++ xsrc/external/mit/xinit/dist/man/startx.man Sun Jan 8 09:59:51 2023 @@ -71,7 +71,10 @@ startx \-\^\- \-layout Multihead .PP To determine the client to run, .B startx -looks for the following files, in order: +first checks the environment variable +.I XINITRC +for a filename. If that variable is unset, or does not contain a filename, +it looks for the following files, in order: .RS .PP .I $(HOME)/.startxrc @@ -87,7 +90,10 @@ behavior and revert to the behavior. To determine the server to run, .B startx -first looks for a file called +checks the environment variable +.I XSERVERRC +for a filename. If that variable is unset, or does not contain a filename, +it looks for a file called .I .xserverrc in the user's home directory. If that is not found, it uses the file @@ -163,6 +169,20 @@ for the local host. See the and .IR Xsecurity (__miscmansuffix__) manual pages for more information on X client/server authentication. +.TP 25 +XINITRC +This variable should contain the location of an xinitrc file. If unset, +.I $(HOME)/.xinitrc +or +.I __xinitdir__/xinitrc +will be used. +.TP 25 +XSERVERRC +This variable should contain the location of an xserver file. If unset, +.I $(HOME)/.xinitrc +or +.I __xinitdir__/xserverrc +will be used. .SH FILES .TP 25 .I $(HOME)/.xinitrc Index: xsrc/external/mit/xprop/include/config.h diff -u xsrc/external/mit/xprop/include/config.h:1.7 xsrc/external/mit/xprop/include/config.h:1.8 --- xsrc/external/mit/xprop/include/config.h:1.7 Tue Apr 27 01:22:56 2021 +++ xsrc/external/mit/xprop/include/config.h Sun Jan 8 09:59:51 2023 @@ -47,7 +47,7 @@ #define PACKAGE_NAME "xprop" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "xprop 1.2.5" +#define PACKAGE_STRING "xprop 1.2.6" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "xprop" @@ -56,7 +56,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.2.5" +#define PACKAGE_VERSION "1.2.6" /* Major version of this package */ #define PACKAGE_VERSION_MAJOR 1 @@ -65,10 +65,10 @@ #define PACKAGE_VERSION_MINOR 2 /* Patch version of this package */ -#define PACKAGE_VERSION_PATCHLEVEL 5 +#define PACKAGE_VERSION_PATCHLEVEL 6 /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "1.2.5" +#define VERSION "1.2.6" Index: xsrc/external/mit/xrandr/dist/compile diff -u xsrc/external/mit/xrandr/dist/compile:1.3 xsrc/external/mit/xrandr/dist/compile:1.4 --- xsrc/external/mit/xrandr/dist/compile:1.3 Wed Apr 27 07:23:01 2016 +++ xsrc/external/mit/xrandr/dist/compile Sun Jan 8 09:59:51 2023 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2012-10-14.11; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ scriptversion=2012-10-14.11; # UTC # 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, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -53,7 +53,7 @@ func_file_conv () MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -67,7 +67,7 @@ func_file_conv () mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/*) + cygwin/* | msys/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) @@ -255,7 +255,8 @@ EOF echo "compile $scriptversion" exit $? ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac @@ -339,9 +340,9 @@ exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: Index: xsrc/external/mit/xrandr/dist/xrandr.c diff -u xsrc/external/mit/xrandr/dist/xrandr.c:1.14 xsrc/external/mit/xrandr/dist/xrandr.c:1.15 --- xsrc/external/mit/xrandr/dist/xrandr.c:1.14 Wed May 4 02:19:25 2016 +++ xsrc/external/mit/xrandr/dist/xrandr.c Sun Jan 8 09:59:51 2023 @@ -54,6 +54,11 @@ static Bool automatic = False; static Bool properties = False; static Bool grab_server = True; static Bool no_primary = False; +static int filter_type = -1; + +static const char *filter_names[2] = { + "bilinear", + "nearest"}; static const char *direction[5] = { "normal", @@ -132,13 +137,14 @@ usage(void) " --below <output>\n" " --same-as <output>\n" " --set <property> <value>\n" - " --scale <x>x<y>\n" + " --scale <x>[x<y>]\n" " --scale-from <w>x<h>\n" " --transform <a>,<b>,<c>,<d>,<e>,<f>,<g>,<h>,<i>\n" + " --filter nearest,bilinear\n" " --off\n" " --crtc <crtc>\n" " --panning <w>x<h>[+<x>+<y>[/<track:w>x<h>+<x>+<y>[/<border:l>/<t>/<r>/<b>]]]\n" - " --gamma <r>:<g>:<b>\n" + " --gamma <r>[:<g>:<b>]\n" " --brightness <value>\n" " --primary\n" " --noprimary\n" @@ -198,7 +204,7 @@ argerr (const char *format, ...) /*NOTREACHED*/ } -/* Because fmin requires C99 suppport */ +/* Because fmin requires C99 support */ static inline double dmin (double x, double y) { return x < y ? x : y; @@ -207,11 +213,9 @@ static inline double dmin (double x, dou static const char * rotation_name (Rotation rotation) { - int i; - if ((rotation & 0xf) == 0) return "normal"; - for (i = 0; i < 4; i++) + for (int i = 0; i < 4; i++) if (rotation & (1 << i)) return direction[i]; return "invalid rotation"; @@ -259,10 +263,6 @@ typedef enum _relation { } relation_t; typedef struct { - int x, y, width, height; -} rectangle_t; - -typedef struct { int x1, y1, x2, y2; } box_t; @@ -285,6 +285,7 @@ typedef enum _changes { changes_panning = (1 << 10), changes_gamma = (1 << 11), changes_primary = (1 << 12), + changes_filter = (1 << 13), } changes_t; typedef enum _name_kind { @@ -424,19 +425,6 @@ static const char *connection[3] = { "disconnected", "unknown connection"}; -#define OUTPUT_NAME 1 - -#define CRTC_OFF 2 -#define CRTC_UNSET 3 -#define CRTC_INDEX 0x40000000 - -#define MODE_NAME 1 -#define MODE_OFF 2 -#define MODE_UNSET 3 -#define MODE_PREF 4 - -#define POS_UNSET -1 - static output_t *all_outputs = NULL; static output_t **all_outputs_tail = &all_outputs; static crtc_t *crtcs; @@ -493,22 +481,21 @@ transform_point (XTransform *transform, { double vector[3]; double result[3]; - int i, j; - double v; + vector[0] = *xp; vector[1] = *yp; vector[2] = 1; - for (j = 0; j < 3; j++) + for (int j = 0; j < 3; j++) { - v = 0; - for (i = 0; i < 3; i++) + double v = 0; + for (int i = 0; i < 3; i++) v += (XFixedToDouble (transform->matrix[j][i]) * vector[i]); result[j] = v; } if (!result[2]) return False; - for (j = 0; j < 2; j++) { + for (int j = 0; j < 2; j++) { vector[j] = result[j] / result[2]; if (vector[j] > 32767 || vector[j] < -32767) return False; @@ -521,11 +508,10 @@ transform_point (XTransform *transform, static void path_bounds (XTransform *transform, point_t *points, int npoints, box_t *box) { - int i; - box_t point; - - for (i = 0; i < npoints; i++) { + for (int i = 0; i < npoints; i++) { double x, y; + box_t point; + x = points[i].x; y = points[i].y; transform_point (transform, &x, &y); @@ -606,12 +592,10 @@ mode_hsync (const XRRModeInfo *mode_info static void print_verbose_mode (const XRRModeInfo *mode, Bool current, Bool preferred) { - int f; - printf (" %s (0x%x) %6.3fMHz", mode->name, (int)mode->id, (double)mode->dotClock / 1000000.0); - for (f = 0; mode_flags[f].flag; f++) + for (int f = 0; mode_flags[f].flag; f++) if (mode->modeFlags & mode_flags[f].flag) printf (" %s", mode_flags[f].string); if (current) @@ -630,6 +614,7 @@ print_verbose_mode (const XRRModeInfo *m static void init_name (name_t *name) { + memset(name, 0, sizeof(*name)); name->kind = name_none; } @@ -703,9 +688,8 @@ print_name (const name_t *name) static void init_transform (transform_t *transform) { - int x; memset (&transform->transform, '\0', sizeof (transform->transform)); - for (x = 0; x < 3; x++) + for (int x = 0; x < 3; x++) transform->transform.matrix[x][x] = XDoubleToFixed (1.0); transform->filter = ""; transform->nparams = 0; @@ -805,10 +789,9 @@ find_output_by_name (char *name) static crtc_t * find_crtc (name_t *name) { - int c; crtc_t *crtc = NULL; - for (c = 0; c < num_crtcs; c++) + for (int c = 0; c < num_crtcs; c++) { name_kind_t common; @@ -839,11 +822,10 @@ find_crtc_by_xid (RRCrtc crtc) static XRRModeInfo * find_mode (name_t *name, double refresh) { - int m; XRRModeInfo *best = NULL; double bestDist = 0; - for (m = 0; m < res->nmode; m++) + for (int m = 0; m < res->nmode; m++) { XRRModeInfo *mode = &res->modes[m]; if ((name->kind & name_xid) && name->xid == mode->id) @@ -895,11 +877,10 @@ XRRModeInfo * find_mode_for_output (output_t *output, name_t *name) { XRROutputInfo *output_info = output->output_info; - int m; XRRModeInfo *best = NULL; double bestDist = 0; - for (m = 0; m < output_info->nmode; m++) + for (int m = 0; m < output_info->nmode; m++) { XRRModeInfo *mode; @@ -936,13 +917,10 @@ static XRRModeInfo * preferred_mode (output_t *output) { XRROutputInfo *output_info = output->output_info; - int m; - XRRModeInfo *best; - int bestDist; + XRRModeInfo *best = NULL; + int bestDist = 0; - best = NULL; - bestDist = 0; - for (m = 0; m < output_info->nmode; m++) + for (int m = 0; m < output_info->nmode; m++) { XRRModeInfo *mode_info = find_mode_by_xid (output_info->modes[m]); int dist; @@ -969,9 +947,8 @@ static Bool output_can_use_crtc (output_t *output, crtc_t *crtc) { XRROutputInfo *output_info = output->output_info; - int c; - for (c = 0; c < output_info->ncrtc; c++) + for (int c = 0; c < output_info->ncrtc; c++) if (output_info->crtcs[c] == crtc->crtc.xid) return True; return False; @@ -981,9 +958,8 @@ static Bool output_can_use_mode (output_t *output, XRRModeInfo *mode) { XRROutputInfo *output_info = output->output_info; - int m; - for (m = 0; m < output_info->nmode; m++) + for (int m = 0; m < output_info->nmode; m++) if (output_info->modes[m] == mode->id) return True; return False; @@ -1022,9 +998,8 @@ output_rotations (output_t *output) Bool found = False; Rotation rotation = RR_Rotate_0; XRROutputInfo *output_info = output->output_info; - int c; - for (c = 0; c < output_info->ncrtc; c++) + for (int c = 0; c < output_info->ncrtc; c++) { crtc_t *crtc = find_crtc_by_xid (output_info->crtcs[c]); if (crtc) @@ -1043,14 +1018,13 @@ static Bool output_can_use_rotation (output_t *output, Rotation rotation) { XRROutputInfo *output_info = output->output_info; - int c; /* make sure all of the crtcs can use this rotation. * yes, this is not strictly necessary, but it is * simpler,and we expect most drivers to either * support rotation everywhere or nowhere */ - for (c = 0; c < output_info->ncrtc; c++) + for (int c = 0; c < output_info->ncrtc; c++) { crtc_t *crtc = find_crtc_by_xid (output_info->crtcs[c]); if (crtc && !crtc_can_use_rotation (crtc, rotation)) @@ -1069,9 +1043,9 @@ output_is_primary(output_t *output) /* Returns the index of the last value in an array < 0xffff */ static int -find_last_non_clamped(CARD16 array[], int size) { - int i; - for (i = size - 1; i > 0; i--) { +find_last_non_clamped(const CARD16 array[], int size) +{ + for (int i = size - 1; i > 0; i--) { if (array[i] < 0xffff) return i; } @@ -1311,6 +1285,10 @@ set_output_info (output_t *output, RROut output->transform.params = NULL; } } + if (output->changes & changes_filter) + { + output->transform.filter = filter_names[filter_type]; + } /* set primary */ if (!(output->changes & changes_primary)) @@ -1339,13 +1317,11 @@ get_screen (Bool current) static void get_crtcs (void) { - int c; - num_crtcs = res->ncrtc; crtcs = calloc (num_crtcs, sizeof (crtc_t)); if (!crtcs) fatal ("out of memory\n"); - for (c = 0; c < res->ncrtc; c++) + for (int c = 0; c < res->ncrtc; c++) { XRRCrtcInfo *crtc_info = XRRGetCrtcInfo (dpy, res, res->crtcs[c]); XRRCrtcTransformAttributes *attr; @@ -1441,9 +1417,7 @@ set_panning (void) static void set_gamma(void) { - output_t *output; - - for (output = all_outputs; output; output = output->next) { + for (output_t *output = all_outputs; output; output = output->next) { int i, size; crtc_t *crtc; XRRCrtcGamma *crtc_gamma; @@ -1528,12 +1502,10 @@ set_gamma(void) static void set_primary(void) { - output_t *output; - if (no_primary) { XRRSetOutputPrimary(dpy, root, None); } else { - for (output = all_outputs; output; output = output->next) { + for (output_t *output = all_outputs; output; output = output->next) { if (!(output->changes & changes_primary)) continue; if (output->primary) @@ -1591,7 +1563,6 @@ static Status crtc_apply (crtc_t *crtc) { RROutput *rr_outputs; - int o; Status s; RRMode mode = None; @@ -1601,14 +1572,14 @@ crtc_apply (crtc_t *crtc) rr_outputs = calloc (crtc->noutput, sizeof (RROutput)); if (!rr_outputs) return BadAlloc; - for (o = 0; o < crtc->noutput; o++) + for (int o = 0; o < crtc->noutput; o++) rr_outputs[o] = crtc->outputs[o]->output.xid; mode = crtc->mode_info->id; if (verbose) { printf ("crtc %d: %12s %6.2f +%d+%d", crtc->crtc.index, crtc->mode_info->name, mode_refresh (crtc->mode_info), crtc->x, crtc->y); - for (o = 0; o < crtc->noutput; o++) + for (int o = 0; o < crtc->noutput; o++) printf (" \"%s\"", crtc->outputs[o]->output.string); printf ("\n"); } @@ -1670,15 +1641,13 @@ screen_apply (void) static void revert (void) { - int c; - /* first disable all crtcs */ - for (c = 0; c < res->ncrtc; c++) + for (int c = 0; c < res->ncrtc; c++) crtc_disable (&crtcs[c]); /* next reset screen size */ screen_revert (); /* now restore all crtcs */ - for (c = 0; c < res->ncrtc; c++) + for (int c = 0; c < res->ncrtc; c++) crtc_revert (&crtcs[c]); } @@ -1711,7 +1680,6 @@ static void apply (void) { Status s; - int c; /* * Hold the server grabbed while messing with @@ -1726,7 +1694,7 @@ apply (void) * Turn off any crtcs which are to be disabled or which are * larger than the target size */ - for (c = 0; c < res->ncrtc; c++) + for (int c = 0; c < res->ncrtc; c++) { crtc_t *crtc = &crtcs[c]; XRRCrtcInfo *crtc_info = crtc->crtc_info; @@ -1777,7 +1745,7 @@ apply (void) * Set crtcs */ - for (c = 0; c < res->ncrtc; c++) + for (int c = 0; c < res->ncrtc; c++) { crtc_t *crtc = &crtcs[c]; @@ -1802,15 +1770,13 @@ apply (void) static void get_outputs (void) { - int o; - output_t *q; - - for (o = 0; o < res->noutput; o++) + for (int o = 0; o < res->noutput; o++) { XRROutputInfo *output_info = XRRGetOutputInfo (dpy, res, res->outputs[o]); output_t *output; name_t output_name; if (!output_info) fatal ("could not get output 0x%lx information\n", res->outputs[o]); + init_name(&output_name); set_name_xid (&output_name, res->outputs[o]); set_name_index (&output_name, o); set_name_string (&output_name, output_info->name); @@ -1873,7 +1839,7 @@ get_outputs (void) set_output_info (output, res->outputs[o], output_info); } - for (q = all_outputs; q; q = q->next) + for (output_t *q = all_outputs; q; q = q->next) { if (!q->found) { @@ -1886,16 +1852,13 @@ get_outputs (void) static void mark_changing_crtcs (void) { - int c; - - for (c = 0; c < num_crtcs; c++) + for (int c = 0; c < num_crtcs; c++) { crtc_t *crtc = &crtcs[c]; - int o; output_t *output; /* walk old output list (to catch disables) */ - for (o = 0; o < crtc->crtc_info->noutput; o++) + for (int o = 0; o < crtc->crtc_info->noutput; o++) { output = find_output_by_xid (crtc->crtc_info->outputs[o]); if (!output) fatal ("cannot find output 0x%lx\n", @@ -1904,7 +1867,7 @@ mark_changing_crtcs (void) crtc->changing = True; } /* walk new output list */ - for (o = 0; o < crtc->noutput; o++) + for (int o = 0; o < crtc->noutput; o++) { output = crtc->outputs[o]; if (output->changes) @@ -1982,9 +1945,7 @@ check_crtc_for_output (crtc_t *crtc, out static crtc_t * find_crtc_for_output (output_t *output) { - int c; - - for (c = 0; c < output->output_info->ncrtc; c++) + for (int c = 0; c < output->output_info->ncrtc; c++) { crtc_t *crtc; @@ -2001,14 +1962,13 @@ static void set_positions (void) { output_t *output; - Bool keep_going; - Bool any_set; int min_x, min_y; for (;;) { - any_set = False; - keep_going = False; + Bool any_set = False; + Bool keep_going = False; + for (output = all_outputs; output; output = output->next) { output_t *relation; @@ -2100,10 +2060,9 @@ set_positions (void) static void set_screen_size (void) { - output_t *output; Bool fb_specified = fb_width != 0 && fb_height != 0; - for (output = all_outputs; output; output = output->next) + for (output_t *output = all_outputs; output; output = output->next) { XRRModeInfo *mode_info = output->mode_info; int x, y, w, h; @@ -2181,7 +2140,6 @@ pick_crtcs_score (output_t *outputs) int my_score; int score; crtc_t *best_crtc; - int c; if (!outputs) return 0; @@ -2200,7 +2158,7 @@ pick_crtcs_score (output_t *outputs) /* * Now score with this output any valid crtc */ - for (c = 0; c < output->output_info->ncrtc; c++) + for (int c = 0; c < output->output_info->ncrtc; c++) { crtc_t *crtc; @@ -2244,7 +2202,6 @@ pick_crtcs (void) { output_t *output; int saved_crtc_noutput[num_crtcs]; - int n; /* * First try to match up newly enabled outputs with spare crtcs @@ -2278,14 +2235,14 @@ pick_crtcs (void) output->current_crtc_info = output->crtc_info; /* Mark all CRTC as currently unused */ - for (n = 0; n < num_crtcs; n++) { + for (int n = 0; n < num_crtcs; n++) { saved_crtc_noutput[n] = crtcs[n].crtc_info->noutput; crtcs[n].crtc_info->noutput = 0; } pick_crtcs_score (all_outputs); - for (n = 0; n < num_crtcs; n++) + for (int n = 0; n < num_crtcs; n++) crtcs[n].crtc_info->noutput = saved_crtc_noutput[n]; for (output = all_outputs; output; output = output->next) @@ -2322,7 +2279,7 @@ static void * property_values_from_string(const char *str, const Atom type, const int format, int *returned_nitems) { - char *token, *tmp; + char *tmp; void *returned_bytes = NULL; int nitems = 0, bytes_per_item; @@ -2346,7 +2303,7 @@ property_values_from_string(const char * tmp = strdup (str); - for (token = strtok (tmp, ","); token; token = strtok (NULL, ",")) + for (char *token = strtok (tmp, ","); token; token = strtok (NULL, ",")) { char *endptr; long int val = strtol (token, &endptr, 0); @@ -2472,11 +2429,9 @@ print_output_property_value(int value_fo static void print_edid(int nitems, const unsigned char *prop) { - int k; - printf ("\n\t\t"); - for (k = 0; k < nitems; k++) + for (int k = 0; k < nitems; k++) { if (k != 0 && (k % 16) == 0) { @@ -2492,11 +2447,9 @@ print_edid(int nitems, const unsigned ch static void print_guid(const unsigned char *prop) { - int k; - printf("{"); - for (k = 0; k < 16; k++) + for (int k = 0; k < 16; k++) { printf("%02" PRIX8, prop[k]); if (k == 3 || k == 5 || k == 7 || k == 9) @@ -2516,7 +2469,6 @@ print_output_property(const char *atom_n const unsigned char *prop) { int bytes_per_item; - int k; switch (value_format) { case 8: @@ -2547,7 +2499,7 @@ print_output_property(const char *atom_n return; } - for (k = 0; k < nitems; k++) + for (int k = 0; k < nitems; k++) { if (k != 0) { @@ -2568,7 +2520,6 @@ static void get_providers (void) { XRRProviderResources *pr; - int i; if (!has_1_4 || providers) return; @@ -2579,7 +2530,7 @@ get_providers (void) if (!providers) fatal ("out of memory\n"); - for (i = 0; i < num_providers; i++) { + for (int i = 0; i < num_providers; i++) { provider_t *provider = &providers[i]; name_t *name = &provider->provider; XRRProviderInfo *info = XRRGetProviderInfo(dpy, res, pr->providers[i]); @@ -2596,11 +2547,9 @@ get_providers (void) static provider_t * find_provider (name_t *name) { - int i; - if ((name->kind & name_xid) && name->xid == 0) return NULL; - for (i = 0; i < num_providers; i++) { + for (int i = 0; i < num_providers; i++) { provider_t *p = &providers[i]; name_kind_t common = name->kind & p->provider.kind; @@ -2642,7 +2591,6 @@ main (int argc, char **argv) XRRScreenConfiguration *sc; int nsize; int nrate; - short *rates; Status status = RRSetConfigFailed; int rot = -1; int query = False; @@ -2650,8 +2598,7 @@ main (int argc, char **argv) Rotation current_rotation; XEvent event; XRRScreenChangeNotifyEvent *sce; - char *display_name = NULL; - int i; + char *display_name = NULL; SizeID current_size; short current_rate; double rate = -1; @@ -2682,7 +2629,7 @@ main (int argc, char **argv) Bool toggle_y = False; program_name = argv[0]; - for (i = 1; i < argc; i++) { + for (int i = 1; i < argc; i++) { if (!strcmp ("-display", argv[i]) || !strcmp ("--display", argv[i]) || !strcmp ("-d", argv[i])) { if (++i >= argc) argerr ("%s requires an argument\n", argv[i-1]); @@ -2808,6 +2755,26 @@ main (int argc, char **argv) action_requested = True; continue; } + if (!strcmp("--filter", argv[i])) { + if (!config_output) argerr ("%s must be used after --output\n", argv[i]); + if (++i >= argc) argerr("%s requires an argument\n", argv[i-1]); + + filter_type = -1; + for (size_t t = 0; t < sizeof(filter_names) / sizeof(filter_names[0]); t++) + { + if (!strcmp(filter_names[t], argv[i])) + { + filter_type = t; + break; + } + } + + if (filter_type == -1) argerr("Bad argument: %s, for a filter\n", argv[i]); + + config_output->changes |= changes_filter; + action_requested = True; + continue; + } if (!strcmp ("--crtc", argv[i])) { if (!config_output) argerr ("%s must be used after --output\n", argv[i]); if (++i >= argc) argerr ("%s requires an argument\n", argv[i-1]); @@ -2934,11 +2901,21 @@ main (int argc, char **argv) continue; } if (!strcmp ("--gamma", argv[i])) { + char junk; if (!config_output) argerr ("%s must be used after --output\n", argv[i]); if (++i >= argc) argerr ("%s requires an argument\n", argv[i-1]); - if (sscanf(argv[i], "%f:%f:%f", &config_output->gamma.red, - &config_output->gamma.green, &config_output->gamma.blue) != 3) - argerr ("%s: invalid argument '%s'\n", argv[i-1], argv[i]); + if (sscanf(argv[i], "%f:%f:%f%c", &config_output->gamma.red, + &config_output->gamma.green, &config_output->gamma.blue, &junk) != 3) + { + /* check if it's a single floating-point value, + * to be applied to all components */ + if (sscanf(argv[i], "%f%c", &config_output->gamma.red, &junk) != 1) + argerr ("%s: invalid argument '%s'\n", argv[i-1], argv[i]); + config_output->gamma.green = config_output->gamma.blue = config_output->gamma.red; + } + if (config_output->gamma.red <= 0.0 || config_output->gamma.green <= 0.0 || + config_output->gamma.blue <= 0.0) + argerr ("gamma correction factors must be positive\n"); config_output->changes |= changes_gamma; setit_1_2 = True; continue; @@ -2981,10 +2958,17 @@ main (int argc, char **argv) if (!strcmp ("--scale", argv[i])) { double sx, sy; + char junk; if (!config_output) argerr ("%s must be used after --output\n", argv[i]); if (++i >= argc) argerr ("%s requires an argument\n", argv[i-1]); - if (sscanf (argv[i], "%lfx%lf", &sx, &sy) != 2) - argerr ("failed to parse '%s' as a scaling factor\n", argv[i]); + if (sscanf (argv[i], "%lfx%lf%c", &sx, &sy, &junk) != 2) + { + if (sscanf (argv[i], "%lf%c", &sx, &junk) != 1) + argerr ("failed to parse '%s' as a scaling factor\n", argv[i]); + sy = sx; + } + if (sx <= 0.0 || sy <= 0.0) + argerr ("scaling factors must be positive\n"); init_transform (&config_output->transform); config_output->transform.transform.matrix[0][0] = XDoubleToFixed (sx); config_output->transform.transform.matrix[1][1] = XDoubleToFixed (sy); @@ -3014,7 +2998,7 @@ main (int argc, char **argv) } if (!strcmp ("--transform", argv[i])) { double transform[3][3]; - int k, l; + if (!config_output) argerr ("%s must be used after --output\n", argv[i]); if (++i >= argc) argerr ("%s requires an argument\n", argv[i-1]); init_transform (&config_output->transform); @@ -3027,8 +3011,8 @@ main (int argc, char **argv) != 9) argerr ("failed to parse '%s' as a transformation\n", argv[i]); init_transform (&config_output->transform); - for (k = 0; k < 3; k++) - for (l = 0; l < 3; l++) { + for (int k = 0; k < 3; k++) + for (int l = 0; l < 3; l++) { config_output->transform.transform.matrix[k][l] = XDoubleToFixed (transform[k][l]); } config_output->transform.filter = "bilinear"; @@ -3226,7 +3210,6 @@ main (int argc, char **argv) if (!strcmp("--setmonitor", argv[i])) { umonitor_t *m = calloc(1, sizeof (umonitor_t)), **l; - char *t; char *o; char *n; char *geom; @@ -3249,6 +3232,8 @@ main (int argc, char **argv) o = argv[++i]; if (strcmp(o, "none") != 0) { + char *t; + printf ("output list %s\n", o); for (; (t = strtok(o, ",")) != NULL; o = NULL) { m->outputs = realloc(m->outputs, (m->noutput + 1) * sizeof (name_t)); @@ -3323,13 +3308,11 @@ main (int argc, char **argv) has_1_5 = True; if (has_1_2 && modeit) { - umode_t *m; - get_screen (True); get_crtcs(); get_outputs(); - for (m = umodes; m; m = m->next) + for (umode_t *m = umodes; m; m = m->next) { XRRModeInfo *e; output_t *o; @@ -3372,17 +3355,13 @@ main (int argc, char **argv) } if (has_1_2 && propit) { - output_t *output; - get_screen (True); get_crtcs(); get_outputs(); - for (output = all_outputs; output; output = output->next) + for (output_t *output = all_outputs; output; output = output->next) { - output_prop_t *prop; - - for (prop = output->props; prop; prop = prop->next) + for (output_prop_t *prop = output->props; prop; prop = prop->next) { Atom name = XInternAtom (dpy, prop->name, False); Atom type; @@ -3581,26 +3560,20 @@ main (int argc, char **argv) } } if (monitorit) { - umonitor_t *u; - Atom name; - if (!has_1_5) { printf("RandR 1.5 not supported\n"); exit(0); } get_screen(True); - get_monitors(True); + get_monitors(False); get_crtcs(); get_outputs(); - for (u = umonitors; u; u = u->next) { + for (umonitor_t *u = umonitors; u; u = u->next) { if (u->set) { - XRRMonitorInfo *m; - int o; - - name = XInternAtom(dpy, u->name, False); - m = XRRAllocateMonitor(dpy, u->noutput); + Atom name = XInternAtom(dpy, u->name, False); + XRRMonitorInfo *m = XRRAllocateMonitor(dpy, u->noutput); m->name = name; m->primary = u->primary; @@ -3610,7 +3583,7 @@ main (int argc, char **argv) m->height = u->height; m->mwidth = u->mmwidth; m->mheight = u->mmheight; - for (o = 0; o < u->noutput; o++) { + for (int o = 0; o < u->noutput; o++) { output_t *output = find_output(&u->outputs[o]); if (!output) fatal("cannot find output\n"); @@ -3621,15 +3594,16 @@ main (int argc, char **argv) XRRFreeMonitors(m); } else { - int m; + Atom name = XInternAtom(dpy, u->name, True); - name = XInternAtom(dpy, u->name, True); if (!name) { printf("No monitor named '%s'\n", u->name); } else { if (!monitors) printf ("No monitors\n"); else { + int m; + for (m = 0; m < monitors->n; m++) { if (monitors->monitors[m].name == name) break; @@ -3647,9 +3621,7 @@ main (int argc, char **argv) } if (query_1_2 || (query && has_1_2 && !query_1)) { - output_t *output; - int m; - + #define ModeShown 0x80000000 get_screen (current); @@ -3661,15 +3633,13 @@ main (int argc, char **argv) DisplayWidth (dpy, screen), DisplayHeight(dpy, screen), maxWidth, maxHeight); - for (output = all_outputs; output; output = output->next) + for (output_t *output = all_outputs; output; output = output->next) { XRROutputInfo *output_info = output->output_info; crtc_t *cur_crtc = output->crtc_info; XRRCrtcInfo *crtc_info = cur_crtc ? cur_crtc->crtc_info : NULL; XRRModeInfo *cur_mode = output->mode_info; - Atom *props; - int j, nprop; - Bool *mode_shown; + int nprop; Rotation rotations = output_rotations (output); printf ("%s %s", output_info->name, connection[output_info->connection]); @@ -3701,16 +3671,18 @@ main (int argc, char **argv) { Bool first = True; printf (" ("); - for (i = 0; i < 4; i ++) { + for (int i = 0; i < 4; i ++) { if ((rotations >> i) & 1) { - if (!first) printf (" "); first = False; + if (!first) printf (" "); printf("%s", direction[i]); + first = False; } } if (rotations & RR_Reflect_X) { - if (!first) printf (" "); first = False; + if (!first) printf (" "); printf ("x axis"); + first = False; } if (rotations & RR_Reflect_Y) { @@ -3761,7 +3733,7 @@ main (int argc, char **argv) printf ("\tBrightness: %#.2g\n", output->brightness); } printf ("\tClones: "); - for (j = 0; j < output_info->nclone; j++) + for (int j = 0; j < output_info->nclone; j++) { output_t *clone = find_output_by_xid (output_info->clones[j]); @@ -3771,7 +3743,7 @@ main (int argc, char **argv) if (output->crtc_info) printf ("\tCRTC: %d\n", output->crtc_info->crtc.index); printf ("\tCRTCs: "); - for (j = 0; j < output_info->ncrtc; j++) + for (int j = 0; j < output_info->ncrtc; j++) { crtc_t *crtc = find_crtc_by_xid (output_info->crtcs[j]); if (crtc) @@ -3792,12 +3764,10 @@ main (int argc, char **argv) } if (verbose) { - int x, y; - printf ("\tTransform: "); - for (y = 0; y < 3; y++) + for (int y = 0; y < 3; y++) { - for (x = 0; x < 3; x++) + for (int x = 0; x < 3; x++) printf (" %f", XFixedToDouble (output->transform.transform.matrix[y][x])); if (y < 2) printf ("\n\t "); @@ -3808,16 +3778,16 @@ main (int argc, char **argv) } if (verbose || properties) { - props = XRRListOutputProperties (dpy, output->output.xid, - &nprop); - for (j = 0; j < nprop; j++) { + Atom *props = XRRListOutputProperties (dpy, output->output.xid, + &nprop); + + for (int j = 0; j < nprop; j++) { unsigned char *prop; int actual_format; unsigned long nitems, bytes_after; Atom actual_type; XRRPropertyInfo *propinfo; char *atom_name = XGetAtomName (dpy, props[j]); - int k; XRRGetOutputProperty (dpy, output->output.xid, props[j], 0, 100, False, False, @@ -3837,7 +3807,7 @@ main (int argc, char **argv) { printf ("\t\trange%s: ", (propinfo->num_values == 2) ? "" : "s"); - for (k = 0; k < propinfo->num_values / 2; k++) + for (int k = 0; k < propinfo->num_values / 2; k++) { printf ("("); print_output_property_value (32, actual_type, @@ -3854,7 +3824,7 @@ main (int argc, char **argv) if (!propinfo->range && propinfo->num_values > 0) { printf ("\t\tsupported: "); - for (k = 0; k < propinfo->num_values; k++) + for (int k = 0; k < propinfo->num_values; k++) { print_output_property_value (32, actual_type, (unsigned char *) &(propinfo->values[k])); @@ -3870,9 +3840,15 @@ main (int argc, char **argv) if (verbose) { - for (j = 0; j < output_info->nmode; j++) + for (int j = 0; j < output_info->nmode; j++) { XRRModeInfo *mode = find_mode_by_xid (output_info->modes[j]); + if (!mode) + { + printf (" [Unknown mode ID 0x%x]\n", + (int)output_info->modes[j]); + continue; + } print_verbose_mode (mode, mode == output->mode_info, j < output_info->npreferred); @@ -3881,22 +3857,28 @@ main (int argc, char **argv) } else { - mode_shown = calloc (output_info->nmode, sizeof (Bool)); + Bool *mode_shown = calloc (output_info->nmode, sizeof (Bool)); if (!mode_shown) fatal ("out of memory\n"); - for (j = 0; j < output_info->nmode; j++) + for (int j = 0; j < output_info->nmode; j++) { XRRModeInfo *jmode, *kmode; - int k; - + if (mode_shown[j]) continue; - + jmode = find_mode_by_xid (output_info->modes[j]); + if (!jmode) + { + printf (" [Unknown mode ID 0x%x]\n", + (int)output_info->modes[j]); + continue; + } printf (" "); printf (" %-12s", jmode->name); - for (k = j; k < output_info->nmode; k++) + for (int k = j; k < output_info->nmode; k++) { if (mode_shown[k]) continue; kmode = find_mode_by_xid (output_info->modes[k]); + if (!kmode) continue; if (strcmp (jmode->name, kmode->name) != 0) continue; mode_shown[k] = True; kmode->modeFlags |= ModeShown; @@ -3915,7 +3897,7 @@ main (int argc, char **argv) free (mode_shown); } } - for (m = 0; m < res->nmode; m++) + for (int m = 0; m < res->nmode; m++) { XRRModeInfo *mode = &res->modes[m]; @@ -3925,8 +3907,6 @@ main (int argc, char **argv) exit (0); } if (list_providers) { - int k; - if (!has_1_4) { printf ("RandR 1.4 not supported\n"); exit (0); @@ -3936,16 +3916,14 @@ main (int argc, char **argv) get_providers (); if (providers) { - int j; - printf("Providers: number : %d\n", num_providers); - for (j = 0; j < num_providers; j++) { + for (int j = 0; j < num_providers; j++) { provider_t *provider = &providers[j]; XRRProviderInfo *info = provider->info; printf("Provider %d: id: 0x%x cap: 0x%x", j, (int)provider->provider.xid, info->capabilities); - for (k = 0; k < 4; k++) + for (int k = 0; k < 4; k++) if (info->capabilities & (1 << k)) printf(", %s", capability_name(1<<k)); @@ -3966,11 +3944,9 @@ main (int argc, char **argv) get_outputs(); if (monitors) { - int m, o; - printf("Monitors: %d\n", monitors->n); - for (m = 0; m < monitors->n; m++) { + for (int m = 0; m < monitors->n; m++) { printf (" %d: %s%s%s %d/%dx%d/%d+%d+%d ", m, monitors->monitors[m].automatic ? "+" : "", @@ -3982,7 +3958,7 @@ main (int argc, char **argv) monitors->monitors[m].mheight, monitors->monitors[m].x, monitors->monitors[m].y); - for (o = 0; o < monitors->monitors[m].noutput; o++) { + for (int o = 0; o < monitors->monitors[m].noutput; o++) { output_t *output = find_output_by_xid(monitors->monitors[m].outputs[o]); if (output) printf (" %s", output->output.string); @@ -4042,7 +4018,9 @@ main (int argc, char **argv) } else { - rates = XRRConfigRates (sc, size, &nrate); + int i; + short *rates = XRRConfigRates (sc, size, &nrate); + for (i = 0; i < nrate; i++) if (rate == rates[i]) break; @@ -4061,8 +4039,8 @@ main (int argc, char **argv) if (query || query_1) { printf(" SZ: Pixels Physical Refresh\n"); - for (i = 0; i < nsize; i++) { - int j; + for (int i = 0; i < nsize; i++) { + short *rates; printf ("%c%-2d %5d x %-5d (%4dmm x%4dmm )", i == current_size ? '*' : ' ', @@ -4070,7 +4048,7 @@ main (int argc, char **argv) sizes[i].mwidth, sizes[i].mheight); rates = XRRConfigRates (sc, i, &nrate); if (nrate) printf (" "); - for (j = 0; j < nrate; j++) + for (int j = 0; j < nrate; j++) printf ("%c%-4d", i == current_size && rates[j] == current_rate ? '*' : ' ', rates[j]); @@ -4092,7 +4070,7 @@ main (int argc, char **argv) reflection_name (current_rotation)); printf ("Rotations possible - "); - for (i = 0; i < 4; i ++) { + for (int i = 0; i < 4; i ++) { if ((rotations >> i) & 1) printf("%s ", direction[i]); } printf ("\n"); Index: xsrc/external/mit/xstdcmap/dist/compile diff -u xsrc/external/mit/xstdcmap/dist/compile:1.3 xsrc/external/mit/xstdcmap/dist/compile:1.4 --- xsrc/external/mit/xstdcmap/dist/compile:1.3 Sun Mar 3 08:36:22 2019 +++ xsrc/external/mit/xstdcmap/dist/compile Sun Jan 8 09:59:52 2023 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2012-10-14.11; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ scriptversion=2012-10-14.11; # UTC # 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, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -53,7 +53,7 @@ func_file_conv () MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -67,7 +67,7 @@ func_file_conv () mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/*) + cygwin/* | msys/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) @@ -255,7 +255,8 @@ EOF echo "compile $scriptversion" exit $? ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac @@ -339,9 +340,9 @@ exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: