There are piles of places in the code where a variable shadows either another
variable or a global function:

  xrandr.c:545:35: warning: declaration of ‘index’ shadows a global declaration 
[-Wshadow]
  xrandr.c:574:9: warning: declaration of ‘index’ shadows a global declaration 
[-Wshadow]
  xrandr.c:967:19: warning: declaration of ‘gamma’ shadows a global declaration 
[-Wshadow]
  xrandr.c:1329:16: warning: declaration of ‘gamma’ shadows a global 
declaration [-Wshadow]
  xrandr.c:2055:28: warning: declaration of ‘outputs’ shadows a global 
declaration [-Wshadow]
  xrandr.c:2068:29: warning: declaration of ‘outputs’ shadows a global 
declaration [-Wshadow]
  xrandr.c:2928:16: warning: declaration of ‘output’ shadows a previous local 
[-Wshadow]
  xrandr.c:2995:15: warning: declaration of ‘output’ shadows a previous local 
[-Wshadow]
  xrandr.c:3016:15: warning: declaration of ‘j’ shadows a previous local 
[-Wshadow]
  xrandr.c:3018:19: warning: declaration of ‘rotations’ shadows a previous 
local [-Wshadow]
  xrandr.c:3116:15: warning: declaration of ‘crtc’ shadows a previous local 
[-Wshadow]
  xrandr.c:3170:8: warning: declaration of ‘k’ shadows a previous local 
[-Wshadow]
  xrandr.c:3243:20: warning: declaration of ‘mode’ shadows a previous local 
[-Wshadow]

'index' and 'gamma' are C library functions:

  index (3)            - locate character in string
  gamma (3)            - (logarithm of the) gamma function

The rest of these are either variables or function parameters.

When possible, move the declaration of a variable into the block where it is
used, including in cases where the same variable is used in multiple blocks but
the later block doesn't depend on the value from the earlier block.

In a few cases, rename the variable in the outer scope to be more specific (e.g.
output -> config_output) so the more generic variable in the inner scope (e.g.
the 'output' variable used to iterate over all outputs) doesn't have to change.

Signed-off-by: Aaron Plattner <[email protected]>
---
 xrandr.c |  408 ++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 211 insertions(+), 197 deletions(-)

diff --git a/xrandr.c b/xrandr.c
index d05737e..08897cf 100644
--- a/xrandr.c
+++ b/xrandr.c
@@ -373,8 +373,8 @@ static const char *connection[3] = {
 
 #define POS_UNSET   -1
 
-static output_t        *outputs = NULL;
-static output_t        **outputs_tail = &outputs;
+static output_t        *all_outputs = NULL;
+static output_t        **all_outputs_tail = &all_outputs;
 static crtc_t  *crtcs;
 static umode_t *umodes;
 static int     num_crtcs;
@@ -382,7 +382,7 @@ static XRRScreenResources  *res;
 static int     fb_width = 0, fb_height = 0;
 static int     fb_width_mm = 0, fb_height_mm = 0;
 static double  dpi = 0;
-static char    *dpi_output = NULL;
+static char    *dpi_output_name = NULL;
 static Bool    dryrun = False;
 static int     minWidth, maxWidth, minHeight, maxHeight;
 static Bool            has_1_2 = False;
@@ -542,10 +542,10 @@ set_name_xid (name_t *name, XID xid)
 }
 
 static void
-set_name_index (name_t *name, int index)
+set_name_index (name_t *name, int idx)
 {
     name->kind |= name_index;
-    name->index = index;
+    name->index = idx;
 }
 
 static void
@@ -571,12 +571,12 @@ set_name (name_t *name, char *string, name_kind_t valid)
 {
     unsigned int xid; /* don't make it XID (which is unsigned long):
                         scanf() takes unsigned int */
-    int index;
+    int idx;
 
     if ((valid & name_xid) && sscanf (string, "0x%x", &xid) == 1)
        set_name_xid (name, xid);
-    else if ((valid & name_index) && sscanf (string, "%d", &index) == 1)
-       set_name_index (name, index);
+    else if ((valid & name_index) && sscanf (string, "%d", &idx) == 1)
+       set_name_index (name, idx);
     else if (valid & name_string)
        set_name_string (name, string);
     else
@@ -641,8 +641,8 @@ add_output (void)
     output->next = NULL;
     output->found = False;
     output->brightness = 1.0;
-    *outputs_tail = output;
-    outputs_tail = &output->next;
+    *all_outputs_tail = output;
+    all_outputs_tail = &output->next;
     return output;
 }
 
@@ -651,7 +651,7 @@ find_output (name_t *name)
 {
     output_t *output;
 
-    for (output = outputs; output; output = output->next)
+    for (output = all_outputs; output; output = output->next)
     {
        name_kind_t common = name->kind & output->output.kind;
        
@@ -964,7 +964,7 @@ find_last_non_clamped(CARD16 array[], int size) {
 static void
 set_gamma_info(output_t *output)
 {
-    XRRCrtcGamma *gamma;
+    XRRCrtcGamma *crtc_gamma;
     double i1, v1, i2, v2;
     int size, middle, last_best, last_red, last_green, last_blue;
     CARD16 *best_array;
@@ -978,8 +978,8 @@ set_gamma_info(output_t *output)
        return;
     }
 
-    gamma = XRRGetCrtcGamma(dpy, output->crtc_info->crtc.xid);
-    if (!gamma) {
+    crtc_gamma = XRRGetCrtcGamma(dpy, output->crtc_info->crtc.xid);
+    if (!crtc_gamma) {
        warning("Failed to get gamma for output %s\n", output->output.string);
        return;
     }
@@ -998,18 +998,18 @@ set_gamma_info(output_t *output)
      * clamped and i1 at i2/2. Note that if i2 = 1 (as in most normal
      * cases), then b = v2.
      */
-    last_red = find_last_non_clamped(gamma->red, size);
-    last_green = find_last_non_clamped(gamma->green, size);
-    last_blue = find_last_non_clamped(gamma->blue, size);
-    best_array = gamma->red;
+    last_red = find_last_non_clamped(crtc_gamma->red, size);
+    last_green = find_last_non_clamped(crtc_gamma->green, size);
+    last_blue = find_last_non_clamped(crtc_gamma->blue, size);
+    best_array = crtc_gamma->red;
     last_best = last_red;
     if (last_green > last_best) {
        last_best = last_green;
-       best_array = gamma->green;
+       best_array = crtc_gamma->green;
     }
     if (last_blue > last_best) {
        last_best = last_blue;
-       best_array = gamma->blue;
+       best_array = crtc_gamma->blue;
     }
     if (last_best == 0)
        last_best = 1;
@@ -1029,15 +1029,15 @@ set_gamma_info(output_t *output)
            output->brightness = v2;
        else
            output->brightness = exp((log(v2)*log(i1) - 
log(v1)*log(i2))/log(i1/i2));
-       output->gamma.red = log((double)(gamma->red[last_red / 2]) / 
output->brightness
+       output->gamma.red = log((double)(crtc_gamma->red[last_red / 2]) / 
output->brightness
                                / 65535) / log((double)((last_red / 2) + 1) / 
size);
-       output->gamma.green = log((double)(gamma->green[last_green / 2]) / 
output->brightness
+       output->gamma.green = log((double)(crtc_gamma->green[last_green / 2]) / 
output->brightness
                                  / 65535) / log((double)((last_green / 2) + 1) 
/ size);
-       output->gamma.blue = log((double)(gamma->blue[last_blue / 2]) / 
output->brightness
+       output->gamma.blue = log((double)(crtc_gamma->blue[last_blue / 2]) / 
output->brightness
                                 / 65535) / log((double)((last_blue / 2) + 1) / 
size);
     }
 
-    XRRFreeGamma(gamma);
+    XRRFreeGamma(crtc_gamma);
 }
 
 static void
@@ -1293,7 +1293,7 @@ set_crtcs (void)
 {
     output_t   *output;
 
-    for (output = outputs; output; output = output->next)
+    for (output = all_outputs; output; output = output->next)
     {
        if (!output->mode_info) continue;
        crtc_add_output (output->crtc_info, output);
@@ -1305,7 +1305,7 @@ set_panning (void)
 {
     output_t   *output;
 
-    for (output = outputs; output; output = output->next)
+    for (output = all_outputs; output; output = output->next)
     {
        if (! output->crtc_info)
            continue;
@@ -1323,10 +1323,10 @@ set_gamma(void)
 {
     output_t   *output;
 
-    for (output = outputs; output; output = output->next) {
+    for (output = all_outputs; output; output = output->next) {
        int i, size, shift;
        crtc_t *crtc;
-       XRRCrtcGamma *gamma;
+       XRRCrtcGamma *crtc_gamma;
        float gammaRed;
        float gammaGreen;
        float gammaBlue;
@@ -1367,8 +1367,8 @@ set_gamma(void)
         */
        shift = 16 - (ffs(size) - 1);
 
-       gamma = XRRAllocGamma(size);
-       if (!gamma) {
+       crtc_gamma = XRRAllocGamma(size);
+       if (!crtc_gamma) {
            fatal("Gamma allocation failed.\n");
            continue;
        }
@@ -1386,33 +1386,33 @@ set_gamma(void)
 
        for (i = 0; i < size; i++) {
            if (gammaRed == 1.0 && output->brightness == 1.0)
-               gamma->red[i] = i;
+               crtc_gamma->red[i] = i;
            else
-               gamma->red[i] = dmin(pow((double)i/(double)(size - 1),
-                                        gammaRed) * output->brightness,
-                                    1.0) * (double)(size - 1);
-           gamma->red[i] <<= shift;
+               crtc_gamma->red[i] = dmin(pow((double)i/(double)(size - 1),
+                                             gammaRed) * output->brightness,
+                                         1.0) * (double)(size - 1);
+           crtc_gamma->red[i] <<= shift;
 
            if (gammaGreen == 1.0 && output->brightness == 1.0)
-               gamma->green[i] = i;
+               crtc_gamma->green[i] = i;
            else
-               gamma->green[i] = dmin(pow((double)i/(double)(size - 1),
-                                          gammaGreen) * output->brightness,
-                                      1.0) * (double)(size - 1);
-           gamma->green[i] <<= shift;
+               crtc_gamma->green[i] = dmin(pow((double)i/(double)(size - 1),
+                                               gammaGreen) * 
output->brightness,
+                                           1.0) * (double)(size - 1);
+           crtc_gamma->green[i] <<= shift;
 
            if (gammaBlue == 1.0 && output->brightness == 1.0)
-               gamma->blue[i] = i;
+               crtc_gamma->blue[i] = i;
            else
-               gamma->blue[i] = dmin(pow((double)i/(double)(size - 1),
-                                         gammaBlue) * output->brightness,
-                                     1.0) * (double)(size - 1);
-           gamma->blue[i] <<= shift;
+               crtc_gamma->blue[i] = dmin(pow((double)i/(double)(size - 1),
+                                              gammaBlue) * output->brightness,
+                                          1.0) * (double)(size - 1);
+           crtc_gamma->blue[i] <<= shift;
        }
 
-       XRRSetCrtcGamma(dpy, crtc->crtc.xid, gamma);
+       XRRSetCrtcGamma(dpy, crtc->crtc.xid, crtc_gamma);
 
-       free(gamma);
+       free(crtc_gamma);
     }
 }
 
@@ -1424,7 +1424,7 @@ set_primary(void)
     if (no_primary) {
        XRRSetOutputPrimary(dpy, root, None);
     } else {
-       for (output = outputs; output; output = output->next) {
+       for (output = all_outputs; output; output = output->next) {
            if (!(output->changes & changes_primary))
                continue;
            if (output->primary)
@@ -1764,7 +1764,7 @@ get_outputs (void)
 
        set_output_info (output, res->outputs[o], output_info);
     }
-    for (q = outputs; q; q = q->next)
+    for (q = all_outputs; q; q = q->next)
     {
        if (!q->found)
        {
@@ -1819,7 +1819,7 @@ check_crtc_for_output (crtc_t *crtc, output_t *output)
            break;
     if (c == output->output_info->ncrtc)
        return False;
-    for (other = outputs; other; other = other->next)
+    for (other = all_outputs; other; other = other->next)
     {
        if (other == output)
            continue;
@@ -1900,7 +1900,7 @@ set_positions (void)
     {
        any_set = False;
        keep_going = False;
-       for (output = outputs; output; output = output->next)
+       for (output = all_outputs; output; output = output->next)
        {
            output_t    *relation;
            name_t      relation_name;
@@ -1967,7 +1967,7 @@ set_positions (void)
      */
     min_x = 32768;
     min_y = 32768;
-    for (output = outputs; output; output = output->next)
+    for (output = all_outputs; output; output = output->next)
     {
        if (output->mode_info == NULL) continue;
        
@@ -1977,7 +1977,7 @@ set_positions (void)
     if (min_x || min_y)
     {
        /* move all outputs */
-       for (output = outputs; output; output = output->next)
+       for (output = all_outputs; output; output = output->next)
        {
            if (output->mode_info == NULL) continue;
 
@@ -1994,7 +1994,7 @@ set_screen_size (void)
     output_t   *output;
     Bool       fb_specified = fb_width != 0 && fb_height != 0;
     
-    for (output = outputs; output; output = output->next)
+    for (output = all_outputs; output; output = output->next)
     {
        XRRModeInfo *mode_info = output->mode_info;
        int         x, y, w, h;
@@ -2138,7 +2138,7 @@ pick_crtcs (void)
     /*
      * First try to match up newly enabled outputs with spare crtcs
      */
-    for (output = outputs; output; output = output->next)
+    for (output = all_outputs; output; output = output->next)
     {
        if (output->changes && output->mode_info)
        {
@@ -2163,10 +2163,10 @@ pick_crtcs (void)
      * When the simple way fails, see if there is a way
      * to swap crtcs around and make things work
      */
-    for (output = outputs; output; output = output->next)
+    for (output = all_outputs; output; output = output->next)
        output->current_crtc_info = output->crtc_info;
-    pick_crtcs_score (outputs);
-    for (output = outputs; output; output = output->next)
+    pick_crtcs_score (all_outputs);
+    for (output = all_outputs; output; output = output->next)
     {
        if (output->mode_info && !output->crtc_info)
            fatal ("cannot find crtc for output %s\n", output->output.string);
@@ -2207,11 +2207,11 @@ main (int argc, char **argv)
     int                rot = -1;
     int                query = False;
     int                action_requested = False;
-    Rotation   rotation, current_rotation, rotations;
+    Rotation   current_rotation;
     XEvent     event;
     XRRScreenChangeNotifyEvent *sce;    
     char          *display_name = NULL;
-    int                i, j;
+    int                i;
     SizeID     current_size;
     short      current_rate;
     double     rate = -1;
@@ -2224,7 +2224,7 @@ main (int argc, char **argv)
     int                width = 0, height = 0;
     Bool       have_pixel_size = False;
     int                ret = 0;
-    output_t   *output = NULL;
+    output_t   *config_output = NULL;
     Bool       setit_1_2 = False;
     Bool       query_1_2 = False;
     Bool       modeit = False;
@@ -2283,10 +2283,10 @@ main (int argc, char **argv)
            if (++i>=argc) usage ();
            rate = check_strtod(argv[i]);
            setit = True;
-           if (output)
+           if (config_output)
            {
-               output->refresh = rate;
-               output->changes |= changes_refresh;
+               config_output->refresh = rate;
+               config_output->changes |= changes_refresh;
                setit_1_2 = True;
            }
            action_requested = True;
@@ -2349,10 +2349,10 @@ main (int argc, char **argv)
        if (!strcmp ("--output", argv[i])) {
            if (++i >= argc) usage();
 
-           output = find_output_by_name (argv[i]);
-           if (!output) {
-               output = add_output ();
-               set_name (&output->output, argv[i], name_string|name_xid);
+           config_output = find_output_by_name (argv[i]);
+           if (!config_output) {
+               config_output = add_output ();
+               set_name (&config_output->output, argv[i], 
name_string|name_xid);
            }
            
            setit_1_2 = True;
@@ -2361,104 +2361,104 @@ main (int argc, char **argv)
        }
        if (!strcmp ("--crtc", argv[i])) {
            if (++i >= argc) usage();
-           if (!output) usage();
-           set_name (&output->crtc, argv[i], name_xid|name_index);
-           output->changes |= changes_crtc;
+           if (!config_output) usage();
+           set_name (&config_output->crtc, argv[i], name_xid|name_index);
+           config_output->changes |= changes_crtc;
            continue;
        }
        if (!strcmp ("--mode", argv[i])) {
            if (++i >= argc) usage();
-           if (!output) usage();
-           set_name (&output->mode, argv[i], name_string|name_xid);
-           output->changes |= changes_mode;
+           if (!config_output) usage();
+           set_name (&config_output->mode, argv[i], name_string|name_xid);
+           config_output->changes |= changes_mode;
            continue;
        }
        if (!strcmp ("--preferred", argv[i])) {
-           if (!output) usage();
-           set_name_preferred (&output->mode);
-           output->changes |= changes_mode;
+           if (!config_output) usage();
+           set_name_preferred (&config_output->mode);
+           config_output->changes |= changes_mode;
            continue;
        }
        if (!strcmp ("--pos", argv[i])) {
            if (++i>=argc) usage ();
-           if (!output) usage();
+           if (!config_output) usage();
            if (sscanf (argv[i], "%dx%d",
-                       &output->x, &output->y) != 2)
+                       &config_output->x, &config_output->y) != 2)
                usage ();
-           output->changes |= changes_position;
+           config_output->changes |= changes_position;
            continue;
        }
        if (!strcmp ("--rotation", argv[i]) || !strcmp ("--rotate", argv[i])) {
            if (++i>=argc) usage ();
-           if (!output) usage();
+           if (!config_output) usage();
            for (dirind = 0; dirind < 4; dirind++) {
                if (strcmp (direction[dirind], argv[i]) == 0) break;
            }
            if (dirind == 4)
                usage ();
-           output->rotation &= ~0xf;
-           output->rotation |= 1 << dirind;
-           output->changes |= changes_rotation;
+           config_output->rotation &= ~0xf;
+           config_output->rotation |= 1 << dirind;
+           config_output->changes |= changes_rotation;
            continue;
        }
        if (!strcmp ("--reflect", argv[i]) || !strcmp ("--reflection", 
argv[i])) {
            if (++i>=argc) usage ();
-           if (!output) usage();
+           if (!config_output) usage();
            for (dirind = 0; dirind < 4; dirind++) {
                if (strcmp (reflections[dirind], argv[i]) == 0) break;
            }
            if (dirind == 4)
                usage ();
-           output->rotation &= ~(RR_Reflect_X|RR_Reflect_Y);
-           output->rotation |= dirind * RR_Reflect_X;
-           output->changes |= changes_reflection;
+           config_output->rotation &= ~(RR_Reflect_X|RR_Reflect_Y);
+           config_output->rotation |= dirind * RR_Reflect_X;
+           config_output->changes |= changes_reflection;
            continue;
        }
        if (!strcmp ("--left-of", argv[i])) {
            if (++i>=argc) usage ();
-           if (!output) usage();
-           output->relation = relation_left_of;
-           output->relative_to = argv[i];
-           output->changes |= changes_relation;
+           if (!config_output) usage();
+           config_output->relation = relation_left_of;
+           config_output->relative_to = argv[i];
+           config_output->changes |= changes_relation;
            continue;
        }
        if (!strcmp ("--right-of", argv[i])) {
            if (++i>=argc) usage ();
-           if (!output) usage();
-           output->relation = relation_right_of;
-           output->relative_to = argv[i];
-           output->changes |= changes_relation;
+           if (!config_output) usage();
+           config_output->relation = relation_right_of;
+           config_output->relative_to = argv[i];
+           config_output->changes |= changes_relation;
            continue;
        }
        if (!strcmp ("--above", argv[i])) {
            if (++i>=argc) usage ();
-           if (!output) usage();
-           output->relation = relation_above;
-           output->relative_to = argv[i];
-           output->changes |= changes_relation;
+           if (!config_output) usage();
+           config_output->relation = relation_above;
+           config_output->relative_to = argv[i];
+           config_output->changes |= changes_relation;
            continue;
        }
        if (!strcmp ("--below", argv[i])) {
            if (++i>=argc) usage ();
-           if (!output) usage();
-           output->relation = relation_below;
-           output->relative_to = argv[i];
-           output->changes |= changes_relation;
+           if (!config_output) usage();
+           config_output->relation = relation_below;
+           config_output->relative_to = argv[i];
+           config_output->changes |= changes_relation;
            continue;
        }
        if (!strcmp ("--same-as", argv[i])) {
            if (++i>=argc) usage ();
-           if (!output) usage();
-           output->relation = relation_same_as;
-           output->relative_to = argv[i];
-           output->changes |= changes_relation;
+           if (!config_output) usage();
+           config_output->relation = relation_same_as;
+           config_output->relative_to = argv[i];
+           config_output->changes |= changes_relation;
            continue;
        }
        if (!strcmp ("--panning", argv[i])) {
            XRRPanning *pan;
            if (++i>=argc) usage ();
-           if (!output) usage();
-           pan = &output->panning;
+           if (!config_output) usage();
+           pan = &config_output->panning;
            switch (sscanf (argv[i], "%dx%d+%d+%d/%dx%d+%d+%d/%d/%d/%d/%d",
                            &pan->width, &pan->height, &pan->left, &pan->top,
                            &pan->track_width, &pan->track_height,
@@ -2481,32 +2481,32 @@ main (int argc, char **argv)
            default:
                usage ();
            }
-           output->changes |= changes_panning;
+           config_output->changes |= changes_panning;
            continue;
        }
        if (!strcmp ("--gamma", argv[i])) {
-           if (!output) usage();
+           if (!config_output) usage();
            if (++i>=argc) usage ();
-           if (sscanf(argv[i], "%f:%f:%f", &output->gamma.red, 
-                   &output->gamma.green, &output->gamma.blue) != 3)
+           if (sscanf(argv[i], "%f:%f:%f", &config_output->gamma.red, 
+                   &config_output->gamma.green, &config_output->gamma.blue) != 
3)
                usage ();
-           output->changes |= changes_gamma;
+           config_output->changes |= changes_gamma;
            setit_1_2 = True;
            continue;
        }
        if (!strcmp ("--brightness", argv[i])) {
-           if (!output) usage();
+           if (!config_output) usage();
            if (++i>=argc) usage();
-           if (sscanf(argv[i], "%f", &output->brightness) != 1)
+           if (sscanf(argv[i], "%f", &config_output->brightness) != 1)
                usage ();
-           output->changes |= changes_gamma;
+           config_output->changes |= changes_gamma;
            setit_1_2 = True;
            continue;
        }
        if (!strcmp ("--primary", argv[i])) {
-           if (!output) usage();
-           output->changes |= changes_primary;
-           output->primary = True;
+           if (!config_output) usage();
+           config_output->changes |= changes_primary;
+           config_output->primary = True;
            setit_1_2 = True;
            continue;
        }
@@ -2517,59 +2517,59 @@ main (int argc, char **argv)
        }
        if (!strcmp ("--set", argv[i])) {
            output_prop_t   *prop;
-           if (!output) usage();
+           if (!config_output) usage();
            prop = malloc (sizeof (output_prop_t));
-           prop->next = output->props;
-           output->props = prop;
+           prop->next = config_output->props;
+           config_output->props = prop;
            if (++i>=argc) usage ();
            prop->name = argv[i];
            if (++i>=argc) usage ();
            prop->value = argv[i];
            propit = True;
-           output->changes |= changes_property;
+           config_output->changes |= changes_property;
            setit_1_2 = True;
            continue;
        }
        if (!strcmp ("--scale", argv[i]))
        {
            double  sx, sy;
-           if (!output) usage();
+           if (!config_output) usage();
            if (++i>=argc) usage();
            if (sscanf (argv[i], "%lfx%lf", &sx, &sy) != 2)
                usage ();
-           init_transform (&output->transform);
-           output->transform.transform.matrix[0][0] = XDoubleToFixed (sx);
-           output->transform.transform.matrix[1][1] = XDoubleToFixed (sy);
-           output->transform.transform.matrix[2][2] = XDoubleToFixed (1.0);
+           init_transform (&config_output->transform);
+           config_output->transform.transform.matrix[0][0] = XDoubleToFixed 
(sx);
+           config_output->transform.transform.matrix[1][1] = XDoubleToFixed 
(sy);
+           config_output->transform.transform.matrix[2][2] = XDoubleToFixed 
(1.0);
            if (sx != 1 || sy != 1)
-               output->transform.filter = "bilinear";
+               config_output->transform.filter = "bilinear";
            else
-               output->transform.filter = "nearest";
-           output->transform.nparams = 0;
-           output->transform.params = NULL;
-           output->changes |= changes_transform;
+               config_output->transform.filter = "nearest";
+           config_output->transform.nparams = 0;
+           config_output->transform.params = NULL;
+           config_output->changes |= changes_transform;
            continue;
        }
        if (!strcmp ("--scale-from", argv[i]))
        {
            int w, h;
-           if (!output) usage();
+           if (!config_output) usage();
            if (++i>=argc) usage();
            if (sscanf (argv[i], "%dx%d", &w, &h) != 2)
                usage ();
            if (w <=0 || h <= 0)
                usage ();
-           output->scale_from_w = w;
-           output->scale_from_h = h;
-           output->changes |= changes_transform;
+           config_output->scale_from_w = w;
+           config_output->scale_from_h = h;
+           config_output->changes |= changes_transform;
            continue;
        }
        if (!strcmp ("--transform", argv[i])) {
            double  transform[3][3];
            int     k, l;
-           if (!output) usage();
+           if (!config_output) usage();
            if (++i>=argc) usage ();
-           init_transform (&output->transform);
+           init_transform (&config_output->transform);
            if (strcmp (argv[i], "none") != 0)
            {
                if (sscanf(argv[i], "%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf",
@@ -2578,23 +2578,23 @@ main (int argc, char **argv)
                           &transform[2][0],&transform[2][1],&transform[2][2])
                    != 9)
                    usage ();
-               init_transform (&output->transform);
+               init_transform (&config_output->transform);
                for (k = 0; k < 3; k++)
                    for (l = 0; l < 3; l++) {
-                       output->transform.transform.matrix[k][l] = 
XDoubleToFixed (transform[k][l]);
+                       config_output->transform.transform.matrix[k][l] = 
XDoubleToFixed (transform[k][l]);
                    }
-               output->transform.filter = "bilinear";
-               output->transform.nparams = 0;
-               output->transform.params = NULL;
+               config_output->transform.filter = "bilinear";
+               config_output->transform.nparams = 0;
+               config_output->transform.params = NULL;
            }
-           output->changes |= changes_transform;
+           config_output->changes |= changes_transform;
            continue;
        }
        if (!strcmp ("--off", argv[i])) {
-           if (!output) usage();
-           set_name_xid (&output->mode, None);
-           set_name_xid (&output->crtc, None);
-           output->changes |= changes_mode;
+           if (!config_output) usage();
+           set_name_xid (&config_output->mode, None);
+           set_name_xid (&config_output->crtc, None);
+           config_output->changes |= changes_mode;
            continue;
        }
        if (!strcmp ("--fb", argv[i])) {
@@ -2622,17 +2622,17 @@ main (int argc, char **argv)
            if (argv[i] == strtod_error)
            {
                dpi = 0.0;
-               dpi_output = argv[i];
+               dpi_output_name = argv[i];
            }
            setit_1_2 = True;
            action_requested = True;
            continue;
        }
        if (!strcmp ("--auto", argv[i])) {
-           if (output)
+           if (config_output)
            {
-               output->automatic = True;
-               output->changes |= changes_automatic;
+               config_output->automatic = True;
+               config_output->changes |= changes_automatic;
            }
            else
                automatic = True;
@@ -2825,12 +2825,13 @@ main (int argc, char **argv)
     }
     if (has_1_2 && propit)
     {
-       
+       output_t *output;
+
         get_screen (current);
        get_crtcs();
        get_outputs();
        
-       for (output = outputs; output; output = output->next)
+       for (output = all_outputs; output; output = output->next)
        {
            output_prop_t   *prop;
 
@@ -2923,15 +2924,15 @@ main (int argc, char **argv)
        /*
         * If an output was specified to track dpi, use it
         */
-       if (dpi_output)
+       if (dpi_output_name)
        {
-           output_t    *output = find_output_by_name (dpi_output);
+           output_t    *dpi_output = find_output_by_name (dpi_output_name);
            XRROutputInfo       *output_info;
            XRRModeInfo *mode_info;
-           if (!output)
-               fatal ("Cannot find output %s\n", dpi_output);
-           output_info = output->output_info;
-           mode_info = output->mode_info;
+           if (!dpi_output)
+               fatal ("Cannot find output %s\n", dpi_output_name);
+           output_info = dpi_output->output_info;
+           mode_info = dpi_output->mode_info;
            if (output_info && mode_info && output_info->mm_height)
            {
                /*
@@ -3006,19 +3007,19 @@ main (int argc, char **argv)
                DisplayWidth (dpy, screen), DisplayHeight(dpy, screen),
                maxWidth, maxHeight);
 
-       for (output = outputs; output; output = output->next)
+       for (output = all_outputs; output; output = output->next)
        {
            XRROutputInfo   *output_info = output->output_info;
-           crtc_t          *crtc = output->crtc_info;
-           XRRCrtcInfo     *crtc_info = crtc ? crtc->crtc_info : NULL;
-           XRRModeInfo     *mode = output->mode_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, k, nprop;
+           int             j, nprop;
            Bool            *mode_shown;
            Rotation        rotations = output_rotations (output);
 
            printf ("%s %s", output_info->name, 
connection[output_info->connection]);
-           if (mode)
+           if (cur_mode)
            {
                if (crtc_info) {
                    printf (" %dx%d+%d+%d",
@@ -3026,10 +3027,11 @@ main (int argc, char **argv)
                            crtc_info->x, crtc_info->y);
                } else {
                    printf (" %dx%d+%d+%d",
-                           mode->width, mode->height, output->x, output->y);
+                           cur_mode->width, cur_mode->height, output->x,
+                           output->y);
                }
                if (verbose)
-                   printf (" (0x%x)", (int)mode->id);
+                   printf (" (0x%x)", (int)cur_mode->id);
                if (output->rotation != RR_Rotate_0 || verbose)
                {
                    printf (" %s", 
@@ -3061,15 +3063,16 @@ main (int argc, char **argv)
                printf (")");
            }
 
-           if (mode)
+           if (cur_mode)
            {
                printf (" %dmm x %dmm",
                        (int)output_info->mm_width, 
(int)output_info->mm_height);
            }
 
-           if (crtc && crtc->panning_info && crtc->panning_info->width > 0)
+           if (cur_crtc && cur_crtc->panning_info &&
+               cur_crtc->panning_info->width > 0)
            {
-               XRRPanning *pan = crtc->panning_info;
+               XRRPanning *pan = cur_crtc->panning_info;
                printf (" panning %dx%d+%d+%d",
                        pan->width, pan->height, pan->left, pan->top);
                if ((pan->track_width    != 0 &&
@@ -3180,6 +3183,8 @@ main (int argc, char **argv)
                    } else if (actual_type == XA_INTEGER &&
                               actual_format == 32)
                    {
+                       int k;
+
                        printf("\t%s: ", XGetAtomName (dpy, props[j]));
                        for (k = 0; k < nitems; k++) {
                            if (k > 0)
@@ -3203,6 +3208,8 @@ main (int argc, char **argv)
                    } else if (actual_type == XA_ATOM &&
                               actual_format == 32)
                    {
+                       int k;
+
                        printf("\t%s:", XGetAtomName (dpy, props[j]));
                        for (k = 0; k < nitems; k++) {
                            if (k > 0 && (k & 1) == 0)
@@ -3270,6 +3277,7 @@ main (int argc, char **argv)
                for (j = 0; j < output_info->nmode; j++)
                {
                    XRRModeInfo *jmode, *kmode;
+                   int k;
                    
                    if (mode_shown[j]) continue;
     
@@ -3386,6 +3394,8 @@ main (int argc, char **argv)
     if (query || query_1) {
        printf(" SZ:    Pixels          Physical       Refresh\n");
        for (i = 0; i < nsize; i++) {
+           int j;
+
            printf ("%c%-2d %5d x %-5d  (%4dmm x%4dmm )",
                    i == current_size ? '*' : ' ',
                    i, sizes[i].width, sizes[i].height,
@@ -3400,31 +3410,32 @@ main (int argc, char **argv)
        }
     }
 
-    rotations = XRRConfigRotations(sc, &current_rotation);
+    {
+       Rotation rotations = XRRConfigRotations(sc, &current_rotation);
 
-    rotation = 1 << rot ;
-    if (query) {
-       printf("Current rotation - %s\n",
-              rotation_name (current_rotation));
+       if (query) {
+           printf("Current rotation - %s\n",
+                  rotation_name (current_rotation));
 
-       printf("Current reflection - %s\n",
-              reflection_name (current_rotation));
+           printf("Current reflection - %s\n",
+                  reflection_name (current_rotation));
 
-       printf ("Rotations possible - ");
-       for (i = 0; i < 4; i ++) {
-           if ((rotations >> i) & 1)  printf("%s ", direction[i]);
-       }
-       printf ("\n");
+           printf ("Rotations possible - ");
+           for (i = 0; i < 4; i ++) {
+               if ((rotations >> i) & 1)  printf("%s ", direction[i]);
+           }
+           printf ("\n");
 
-       printf ("Reflections possible - ");
-       if (rotations & (RR_Reflect_X|RR_Reflect_Y))
-       {
-           if (rotations & RR_Reflect_X) printf ("X Axis ");
-           if (rotations & RR_Reflect_Y) printf ("Y Axis");
+           printf ("Reflections possible - ");
+           if (rotations & (RR_Reflect_X|RR_Reflect_Y))
+           {
+               if (rotations & RR_Reflect_X) printf ("X Axis ");
+               if (rotations & RR_Reflect_Y) printf ("Y Axis");
+           }
+           else
+               printf ("none");
+           printf ("\n");
        }
-       else
-           printf ("none");
-       printf ("\n");
     }
 
     if (verbose) { 
@@ -3450,9 +3461,12 @@ main (int argc, char **argv)
 
     if (setit && !dryrun) XRRSelectInput (dpy, root,
                               RRScreenChangeNotifyMask);
-    if (setit && !dryrun) status = XRRSetScreenConfigAndRate (dpy, sc,
-                                                  root,
-                                                  (SizeID) size, (Rotation) 
(rotation | reflection), rate, CurrentTime);
+    if (setit && !dryrun) {
+       Rotation rotation = 1 << rot;
+       status = XRRSetScreenConfigAndRate (dpy, sc, root, (SizeID) size,
+                                           (Rotation) (rotation | reflection),
+                                           rate, CurrentTime);
+    }
 
     if (setit && !dryrun && status == RRSetConfigFailed) {
        printf ("Failed to change the screen configuration!\n");
-- 
1.7.9.5

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to