On Fri, Aug 24, 2012 at 09:43:13PM -0700, Aaron Plattner wrote: > 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]>
Thanks for cleaning that up. I ran into the same thing when testing my xrandr gamma patches, but wasn't ambitious enough to fix up all of these. It might have made review a little easier to break this up into a few smaller patches, but this looks correct to me. Reviewed-by: Andy Ritger <[email protected]> Thanks, - Andy > --- > 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, ¤t_rotation); > + { > + Rotation rotations = XRRConfigRotations(sc, ¤t_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 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
