summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac2
-rw-r--r--src/add_window.c9
-rw-r--r--src/events.c40
-rw-r--r--src/iconmgr.c26
-rw-r--r--src/icons.c7
-rw-r--r--src/list.c2
-rw-r--r--src/menus.c83
-rw-r--r--src/parse.c15
-rw-r--r--src/resize.c7
-rw-r--r--src/session.c8
-rw-r--r--src/twm.c15
-rw-r--r--src/util.c33
12 files changed, 146 insertions, 101 deletions
diff --git a/configure.ac b/configure.ac
index 519f5cb..db01b62 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ dnl Process this file with autoconf to create configure.
# Initialize Autoconf
AC_PREREQ([2.60])
-AC_INIT([twm], [1.0.11],
+AC_INIT([twm], [1.0.11.1],
[https://gitlab.freedesktop.org/xorg/app/twm/issues], [twm])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([config.h])
diff --git a/src/add_window.c b/src/add_window.c
index f919b77..e6bde43 100644
--- a/src/add_window.c
+++ b/src/add_window.c
@@ -147,11 +147,9 @@ TwmWindow *
AddWindow(Window w, int iconm, IconMgr *iconp)
{
TwmWindow *tmp_win; /* new twm window structure */
- int stat;
XEvent event;
unsigned long valuemask; /* mask for create windows */
XSetWindowAttributes attributes; /* attributes for create windows */
- int width, height; /* tmp variable */
int ask_user; /* don't know where to put the window */
int gravx, gravy; /* gravity signs for positioning */
int namelen;
@@ -289,12 +287,14 @@ AddWindow(Window w, int iconm, IconMgr *iconp)
&tmp_win->class);
if (tmp_win->auto_raise)
Scr->NumAutoRaises++;
- tmp_win->iconify_by_unmapping = Scr->IconifyByUnmapping;
if (Scr->IconifyByUnmapping) {
tmp_win->iconify_by_unmapping = iconm ? FALSE :
!short_lookup LookInList(Scr->DontIconify, tmp_win->full_name,
&tmp_win->class);
}
+ else {
+ tmp_win->iconify_by_unmapping = Scr->IconifyByUnmapping;
+ }
tmp_win->iconify_by_unmapping |=
short_lookup LookInList(Scr->IconifyByUn, tmp_win->full_name,
&tmp_win->class);
@@ -427,11 +427,14 @@ AddWindow(Window w, int iconm, IconMgr *iconp)
if (!(tmp_win->wmhints && tmp_win->wmhints->flags & StateHint &&
tmp_win->wmhints->initial_state == IconicState)) {
Bool firsttime = True;
+ int height, width;
/* better wait until all the mouse buttons have been
* released.
*/
while (TRUE) {
+ int stat;
+
XUngrabServer(dpy);
XSync(dpy, 0);
XGrabServer(dpy);
diff --git a/src/events.c b/src/events.c
index 6c34261..9d92322 100644
--- a/src/events.c
+++ b/src/events.c
@@ -380,9 +380,8 @@ void
HandleColormapNotify(void)
{
XColormapEvent *cevent = (XColormapEvent *) &Event;
- ColormapWindow *cwin, **cwins;
+ ColormapWindow *cwin;
TwmColormap *cmap;
- int lost, won, n, number_cwins;
XPointer context_data;
if (XFindContext(dpy, cevent->window, ColormapContext, &context_data) == 0)
@@ -430,6 +429,9 @@ HandleColormapNotify(void)
}
if (cevent->serial >= Scr->cmapInfo.first_req) {
+ ColormapWindow **cwins;
+ int lost, won, n, number_cwins;
+
number_cwins = Scr->cmapInfo.cmaps->number_cwins;
/*
@@ -698,13 +700,14 @@ free_window_names(TwmWindow *tmp, Bool nukefull, Bool nukename, Bool nukeicon)
void
free_cwins(TwmWindow *tmp)
{
- int i;
- TwmColormap *cmap;
-
if (tmp->cmaps.number_cwins) {
+ int i;
+
for (i = 0; i < tmp->cmaps.number_cwins; i++) {
+
if (--tmp->cmaps.cwins[i]->refcnt == 0) {
- cmap = tmp->cmaps.cwins[i]->colormap;
+ TwmColormap *cmap = tmp->cmaps.cwins[i]->colormap;
+
if (--cmap->refcnt == 0) {
XDeleteContext(dpy, cmap->c, ColormapContext);
free(cmap);
@@ -714,6 +717,7 @@ free_cwins(TwmWindow *tmp)
}
}
free(tmp->cmaps.cwins);
+
if (tmp->cmaps.number_cwins > 1) {
free(tmp->cmaps.scoreboard);
tmp->cmaps.scoreboard = NULL;
@@ -729,7 +733,6 @@ void
HandlePropertyNotify(void)
{
char *name = NULL;
- unsigned long valuemask; /* mask for create windows */
XSetWindowAttributes attributes; /* attributes for create windows */
Pixmap pm;
@@ -894,6 +897,8 @@ HandlePropertyNotify(void)
if (Tmp_win->icon_w && !Tmp_win->forced && Tmp_win->wmhints &&
(Tmp_win->wmhints->flags & IconPixmapHint)) {
+ unsigned long valuemask; /* mask for create windows */
+
if (!XGetGeometry(dpy, Tmp_win->wmhints->icon_pixmap, &JunkRoot,
&JunkX, &JunkY,
(unsigned int *) &Tmp_win->icon_width,
@@ -1167,7 +1172,6 @@ remove_window_from_ring(TwmWindow *tmp)
void
HandleDestroyNotify(void)
{
- int i;
/*
* Warning, this is also called by HandleUnmapNotify; if it ever needs to
@@ -1198,7 +1202,10 @@ HandleDestroyNotify(void)
XDeleteContext(dpy, Tmp_win->hilite_w, TwmContext);
XDeleteContext(dpy, Tmp_win->hilite_w, ScreenContext);
}
+
if (Tmp_win->titlebuttons) {
+ int i;
+
for (i = 0; i < nb; i++) {
XDeleteContext(dpy, Tmp_win->titlebuttons[i].window,
TwmContext);
@@ -1279,7 +1286,6 @@ void
HandleMapRequest(void)
{
XPointer context_data;
- int zoom_save;
Event.xany.window = Event.xmaprequest.window;
if (XFindContext(dpy, Event.xany.window, TwmContext, &context_data) == 0)
@@ -1309,6 +1315,7 @@ HandleMapRequest(void)
if ((!Tmp_win->icon) &&
Tmp_win->wmhints && (Tmp_win->wmhints->flags & StateHint)) {
int state;
+ int zoom_save;
Window icon;
/* use WM_STATE if enabled */
@@ -1484,7 +1491,6 @@ HandleMotionNotify(void)
void
HandleButtonRelease(void)
{
- int xl, xr, yt, yb, w, h;
unsigned mask;
XPointer context_data;
@@ -1496,6 +1502,9 @@ HandleButtonRelease(void)
}
if (DragWindow != None) {
+ int xl, yt;
+ int w, h;
+
MoveOutline(Scr->Root, 0, 0, 0, 0, 0, 0);
if (XFindContext(dpy, DragWindow, TwmContext, &context_data) == 0)
@@ -1529,8 +1538,8 @@ HandleButtonRelease(void)
}
if (Scr->DontMoveOff && MoveFunction != F_FORCEMOVE) {
- xr = xl + w;
- yb = yt + h;
+ int xr = xl + w;
+ int yb = yt + h;
if (xl < 0)
xl = 0;
@@ -2218,7 +2227,6 @@ void
HandleConfigureRequest(void)
{
XWindowChanges xwc;
- unsigned long xwcm;
int x, y, width, height, bw;
int gravx, gravy;
XConfigureRequestEvent *cre = &Event.xconfigurerequest;
@@ -2258,6 +2266,8 @@ HandleConfigureRequest(void)
* to configuration requests for windows which have never been mapped.
*/
if (!Tmp_win || Tmp_win->icon_w == cre->window) {
+ unsigned long xwcm;
+
xwcm = cre->value_mask &
(CWX | CWY | CWWidth | CWHeight | CWBorderWidth);
xwc.x = cre->x;
@@ -2420,10 +2430,12 @@ ScreenInfo *
FindScreenInfo(Window w)
{
XWindowAttributes attr;
- int scrnum;
attr.screen = NULL;
+
if (XGetWindowAttributes(dpy, w, &attr)) {
+ int scrnum;
+
for (scrnum = 0; scrnum < NumScreens; scrnum++) {
if (ScreenList[scrnum] != NULL &&
(ScreenOfDisplay(dpy, ScreenList[scrnum]->screen) ==
diff --git a/src/iconmgr.c b/src/iconmgr.c
index e59f849..dcf0881 100644
--- a/src/iconmgr.c
+++ b/src/iconmgr.c
@@ -57,7 +57,6 @@ void
CreateIconManagers(void)
{
IconMgr *p;
- int mask;
char str[100];
char str1[100];
Pixel background;
@@ -74,9 +73,9 @@ CreateIconManagers(void)
}
for (p = &Scr->iconmgr; p != NULL; p = p->next) {
- mask = XParseGeometry(p->geometry, &JunkX, &JunkY,
- (unsigned int *) &p->width,
- (unsigned int *) &p->height);
+ int mask = XParseGeometry(p->geometry, &JunkX, &JunkY,
+ (unsigned int *) &p->width,
+ (unsigned int *) &p->height);
if (mask & XNegative)
JunkX = Scr->MyDisplayWidth - p->width -
@@ -129,7 +128,7 @@ AllocateIconManager(char *name, char *icon_name, char *geom, int columns)
#ifdef DEBUG_ICONMGR
fprintf(stderr, "AllocateIconManager\n");
fprintf(stderr, " name=\"%s\" icon_name=\"%s\", geom=\"%s\", col=%d\n",
- name, icon_name, geom, columns);
+ name, icon_name ? icon_name : "<null>", geom, columns);
#endif
if (Scr->NoIconManagers)
@@ -290,8 +289,6 @@ JumpIconManager(int dir)
{
IconMgr *ip, *tmp_ip = NULL;
int got_it = FALSE;
- ScreenInfo *sp;
- int screen;
if (!Active)
return;
@@ -309,8 +306,11 @@ JumpIconManager(int dir)
if (!got_it) {
int origscreen = ip->scr->screen;
int inc = (dir == F_NEXTICONMGR ? 1 : -1);
+ int screen;
for (screen = origscreen + inc;; screen += inc) {
+ ScreenInfo *sp;
+
if (screen >= NumScreens)
screen = 0;
else if (screen < 0)
@@ -461,8 +461,8 @@ InsertInIconManager(IconMgr *ip, WList *tmp, TwmWindow *tmp_win)
{
WList *tmp1;
int added;
- int (*compar) (const char *, const char *)
- = (Scr->CaseSensitive ? strcmp : XmuCompareISOLatin1);
+ int (*compar)(const char *, const char *)
+ =(Scr->CaseSensitive ? strcmp : XmuCompareISOLatin1);
added = FALSE;
if (ip->first == NULL) {
@@ -594,8 +594,8 @@ SortIconManager(IconMgr *ip)
{
WList *tmp1, *tmp2;
int done;
- int (*compar) (const char *, const char *)
- = (Scr->CaseSensitive ? strcmp : XmuCompareISOLatin1);
+ int (*compar)(const char *, const char *)
+ =(Scr->CaseSensitive ? strcmp : XmuCompareISOLatin1);
if (ip == NULL)
ip = Active->iconmgr;
@@ -629,7 +629,6 @@ void
PackIconManager(IconMgr *ip)
{
int newwidth, i, row, col, maxcol, colinc, rowinc, wheight, wwidth;
- int new_x, new_y;
int savewidth;
WList *tmp;
@@ -645,7 +644,10 @@ PackIconManager(IconMgr *ip)
row = 0;
col = ip->columns;
maxcol = 0;
+
for (i = 0, tmp = ip->first; tmp != NULL; i++, tmp = tmp->next) {
+ int new_x, new_y;
+
tmp->me = i;
if (++col >= ip->columns) {
col = 0;
diff --git a/src/icons.c b/src/icons.c
index a437963..bf8d8aa 100644
--- a/src/icons.c
+++ b/src/icons.c
@@ -323,10 +323,11 @@ FreeIconEntries(IconRegion *ir)
void
FreeIconRegions(void)
{
- IconRegion *ir, *tmp;
+ IconRegion *ir;
for (ir = Scr->FirstRegion; ir != NULL;) {
- tmp = ir;
+ IconRegion *tmp = ir;
+
FreeIconEntries(ir);
ir = ir->next;
free(tmp);
@@ -344,7 +345,6 @@ CreateIconWindow(TwmWindow *tmp_win, int def_x, int def_y)
XSetWindowAttributes attributes; /* attributes for create windows */
Pixmap pm = None; /* tmp pixmap variable */
int final_x, final_y;
- int x;
FB(tmp_win->iconc.fore, tmp_win->iconc.back);
@@ -536,6 +536,7 @@ CreateIconWindow(TwmWindow *tmp_win, int def_x, int def_y)
if (pm != None &&
(!(tmp_win->wmhints && tmp_win->wmhints->flags & IconWindowHint))) {
int y;
+ int x;
y = 0;
if (tmp_win->icon_w_width == tmp_win->icon_width)
diff --git a/src/list.c b/src/list.c
index 9d9bec8..593204f 100644
--- a/src/list.c
+++ b/src/list.c
@@ -93,7 +93,7 @@ AddToList(name_list ** list_head, char *name, char *ptr)
nptr = malloc(sizeof(name_list));
if (nptr == NULL) {
twmrc_error_prefix();
- fprintf(stderr, "unable to allocate %ld bytes for name_list\n",
+ fprintf(stderr, "unable to allocate %lu bytes for name_list\n",
(unsigned long) sizeof(name_list));
Done(NULL, NULL);
}
diff --git a/src/menus.c b/src/menus.c
index 8b1cb00..a0e5c0f 100644
--- a/src/menus.c
+++ b/src/menus.c
@@ -133,7 +133,7 @@ void
InitMenus(void)
{
int i, j, k;
- FuncKey *key, *tmp;
+ FuncKey *key;
for (i = 0; i < MAX_BUTTONS + 1; i++)
for (j = 0; j < NUM_CONTEXTS; j++)
@@ -147,8 +147,9 @@ InitMenus(void)
if (FirstScreen) {
for (key = Scr->FuncKeyRoot.next; key != NULL;) {
+ FuncKey *tmp = key;
+
free(key->name);
- tmp = key;
key = key->next;
free(tmp);
}
@@ -216,7 +217,7 @@ CreateTitleButton(const char *name, int func, const char *action,
if (!tb) {
fprintf(stderr,
- "%s: unable to allocate %ld bytes for title button\n",
+ "%s: unable to allocate %lu bytes for title button\n",
ProgramName, (unsigned long) sizeof(TitleButton));
return 0;
}
@@ -366,7 +367,6 @@ PaintEntry(MenuRoot *mr, MenuItem *mi, int exposure)
text_y = y_offset + Scr->MenuFont.y;
if (mi->func != F_TITLE) {
- int x, y;
if (mi->state) {
XSetForeground(dpy, Scr->NormalGC, mi->hi_back);
@@ -401,6 +401,8 @@ PaintEntry(MenuRoot *mr, MenuItem *mi, int exposure)
}
if (mi->func == F_MENU) {
+ int x, y;
+
/* create the pull right pixmap if needed */
if (Scr->pullPm == None) {
Scr->pullPm = CreateMenuIcon(Scr->MenuFont.height,
@@ -414,8 +416,6 @@ PaintEntry(MenuRoot *mr, MenuItem *mi, int exposure)
}
}
else {
- int y;
-
XSetForeground(dpy, Scr->NormalGC, mi->back);
/* fill the rectangle with the title background color */
@@ -423,6 +423,8 @@ PaintEntry(MenuRoot *mr, MenuItem *mi, int exposure)
(unsigned) mr->width, (unsigned) Scr->EntryHeight);
{
+ int y;
+
XSetForeground(dpy, Scr->NormalGC, mi->fore);
/* now draw the dividing lines */
if (y_offset)
@@ -658,8 +660,8 @@ AddToMenu(MenuRoot *menu, const char *item, const char *action,
int width;
#ifdef DEBUG_MENUS
- fprintf(stderr, "adding menu item=\"%s\", action=%s, sub=%d, f=%d\n",
- item, action, sub, func);
+ fprintf(stderr, "adding menu item=\"%s\", action=%s, sub=%p, f=%d\n",
+ item, action ? action : "<null>", sub, func);
#endif
tmp = malloc(sizeof(MenuItem));
@@ -731,18 +733,17 @@ MakeMenu(MenuRoot *mr)
XColor f1, f2, f3;
XColor b1, b2, b3;
XColor save_fore, save_back;
- int num, i;
- int fred, fgreen, fblue;
- int bred, bgreen, bblue;
- int width;
- unsigned long valuemask;
+ int i;
XSetWindowAttributes attributes;
Colormap cmap = Scr->TwmRoot.cmaps.cwins[0]->colormap->c;
Scr->EntryHeight = Scr->MenuFont.height + 4;
- /* lets first size the window accordingly */
+ /* let's first size the window accordingly */
if (mr->mapped == NEVER_MAPPED) {
+ int width;
+ unsigned long valuemask;
+
if (mr->pull == TRUE) {
mr->width = (short) (mr->width + (16 + 10));
}
@@ -837,7 +838,12 @@ MakeMenu(MenuRoot *mr)
return;
start = mr->first;
+
while (TRUE) {
+ int num;
+ int fred, fgreen, fblue;
+ int bred, bgreen, bblue;
+
for (; start != NULL; start = start->next) {
if (start->user_colors)
break;
@@ -915,10 +921,8 @@ MakeMenu(MenuRoot *mr)
Bool
PopUpMenu(MenuRoot *menu, int x, int y, Bool center)
{
- int WindowNameCount;
TwmWindow **WindowNames;
TwmWindow *tmp_win2, *tmp_win3;
- int i;
int (*compar)(const char *, const char *) =
(Scr->CaseSensitive ? strcmp : XmuCompareISOLatin1);
@@ -929,6 +933,7 @@ PopUpMenu(MenuRoot *menu, int x, int y, Bool center)
if (menu == Scr->Windows) {
TwmWindow *tmp_win;
+ int WindowNameCount;
/* this is the twm windows menu, let's go ahead and build it */
@@ -945,10 +950,14 @@ PopUpMenu(MenuRoot *menu, int x, int y, Bool center)
for (tmp_win = Scr->TwmRoot.next, WindowNameCount = 0;
tmp_win != NULL; tmp_win = tmp_win->next)
WindowNameCount++;
+
if (WindowNameCount != 0) {
+ int i;
+
WindowNames =
malloc(sizeof(TwmWindow *) * (size_t) WindowNameCount);
WindowNames[0] = Scr->TwmRoot.next;
+
for (tmp_win = Scr->TwmRoot.next->next, WindowNameCount = 1;
tmp_win != NULL; tmp_win = tmp_win->next, WindowNameCount++) {
tmp_win2 = tmp_win;
@@ -1687,7 +1696,7 @@ ExecuteFunction(int func, const char *action, Window w, TwmWindow *tmp_win,
}
if (ConstMoveDir != MOVE_NONE) {
- int xl, yt, xr, yb, w2, h;
+ int xl, yt, w2, h;
xl = ConstMoveX;
yt = ConstMoveY;
@@ -1695,8 +1704,8 @@ ExecuteFunction(int func, const char *action, Window w, TwmWindow *tmp_win,
h = (int) ((unsigned) DragHeight + 2 * JunkBW);
if (Scr->DontMoveOff && MoveFunction != F_FORCEMOVE) {
- xr = xl + w2;
- yb = yt + h;
+ int xr = xl + w2;
+ int yb = yt + h;
if (xl < 0)
xl = 0;
@@ -1719,7 +1728,7 @@ ExecuteFunction(int func, const char *action, Window w, TwmWindow *tmp_win,
}
}
else if (DragWindow != None) {
- int xl, yt, xr, yb, w2, h;
+ int xl, yt, w2, h;
if (!menuFromFrameOrWindowOrTitlebar) {
xl = (int) ((unsigned) eventp->xmotion.x_root -
@@ -1735,8 +1744,8 @@ ExecuteFunction(int func, const char *action, Window w, TwmWindow *tmp_win,
h = (int) ((unsigned) DragHeight + 2 * JunkBW);
if (Scr->DontMoveOff && MoveFunction != F_FORCEMOVE) {
- xr = xl + w2;
- yb = yt + h;
+ int xr = xl + w2;
+ int yb = yt + h;
if (xl < 0)
xl = 0;
@@ -1994,7 +2003,6 @@ ExecuteFunction(int func, const char *action, Window w, TwmWindow *tmp_win,
case F_WARPNEXT:
{
register TwmWindow *t;
- static TwmWindow *savedwarp = NULL;
TwmWindow *of, *l, *n;
int c = 0;
@@ -2019,9 +2027,12 @@ ExecuteFunction(int func, const char *action, Window w, TwmWindow *tmp_win,
if (t == of)
c++;
- if (bwin(t) || c >= 2)
+ if (bwin(t) || c >= 2) {
Bell(XkbBI_MinorError, 0, None);
+ }
else {
+ static TwmWindow *savedwarp = NULL;
+
if (of && of == savedwarp) {
Iconify(of, 0, 0);
savedwarp = NULL;
@@ -2301,7 +2312,7 @@ Execute(const char *s)
static char *exec_display;
char *ds = DisplayString(dpy);
- char *colon, *dot1;
+ char *colon;
char *oldDisplay = NULL;
char *value;
Bool restorevar = False;
@@ -2321,6 +2332,8 @@ Execute(const char *s)
char *update = malloc(need);
if (update != NULL) {
+ char *dot1;
+
strcpy(update, display_eqls);
strcat(update, ds);
colon = strrchr(update, ':');
@@ -2529,7 +2542,7 @@ Iconify(TwmWindow *tmp_win, int def_x, int def_y)
static void
Identify(TwmWindow *t)
{
- int i, n, twidth, width, height;
+ int i, n, width, height;
int x, y;
unsigned int wwidth, wheight, bw, depth;
Window junk;
@@ -2552,9 +2565,9 @@ Identify(TwmWindow *t)
"Class.res_class = \"%s\"", t->class.res_class);
Info[n++][0] = '\0';
snprintf(Info[n++], INFO_SIZE,
- "Geometry/root = %dx%d+%d+%d", wwidth, wheight, x, y);
- snprintf(Info[n++], INFO_SIZE, "Border width = %d", bw);
- snprintf(Info[n++], INFO_SIZE, "Depth = %d", depth);
+ "Geometry/root = %ux%u+%d+%d", wwidth, wheight, x, y);
+ snprintf(Info[n++], INFO_SIZE, "Border width = %u", bw);
+ snprintf(Info[n++], INFO_SIZE, "Depth = %u", depth);
if (HasSync) {
int priority;
@@ -2570,8 +2583,9 @@ Identify(TwmWindow *t)
height = n * (Scr->DefaultFont.height + 2);
width = 1;
for (i = 0; i < n; i++) {
- twidth = MyFont_TextWidth(&Scr->DefaultFont, Info[i],
- (int) strlen(Info[i]));
+ int twidth = MyFont_TextWidth(&Scr->DefaultFont, Info[i],
+ (int) strlen(Info[i]));
+
if (twidth > width)
width = twidth;
}
@@ -2685,7 +2699,6 @@ WarpToScreen(int n, int inc)
static void
BumpWindowColormap(TwmWindow *tmp, int inc)
{
- int i, j, previously_installed;
ColormapWindow **cwins;
if (!tmp)
@@ -2695,6 +2708,9 @@ BumpWindowColormap(TwmWindow *tmp, int inc)
cwins =
malloc(sizeof(ColormapWindow *) * (size_t) tmp->cmaps.number_cwins);
if (cwins) {
+ int i;
+ int previously_installed;
+
/* SUPPRESS 560 */
if ((previously_installed = (Scr->cmapInfo.cmaps == &tmp->cmaps &&
tmp->cmaps.number_cwins))) {
@@ -2703,7 +2719,8 @@ BumpWindowColormap(TwmWindow *tmp, int inc)
}
for (i = 0; i < tmp->cmaps.number_cwins; i++) {
- j = i - inc;
+ int j = i - inc;
+
if (j >= tmp->cmaps.number_cwins)
j -= tmp->cmaps.number_cwins;
else if (j < 0)
diff --git a/src/parse.c b/src/parse.c
index d81c2f3..df6cce3 100644
--- a/src/parse.c
+++ b/src/parse.c
@@ -82,7 +82,7 @@ static unsigned char overflowbuff[20]; /* really only need one */
static int overflowlen;
static unsigned char **stringListSource, *currentString;
-static int doparse(int (*ifunc) (void), const char *srctypename,
+static int doparse(int (*ifunc)(void), const char *srctypename,
const char *srcname);
static int twmFileInput(void);
static int twmStringListInput(void);
@@ -93,14 +93,14 @@ extern int yylineno;
int ConstrainedMoveTime = 400; /* milliseconds, event times */
-int (*twmInputFunc) (void);
+int (*twmInputFunc)(void);
/**
* parse the .twmrc file
* \param filename the filename to parse. NULL indicates $HOME/.twmrc
*/
static int
-doparse(int (*ifunc) (void), const char *srctypename, const char *srcname)
+doparse(int (*ifunc)(void), const char *srctypename, const char *srcname)
{
mods = 0;
ptr = 0;
@@ -983,19 +983,20 @@ do_color_keyword(int keyword, int colormode, char *s)
static void
put_pixel_on_root(Pixel pixel)
{
- int i, addPixel = 1;
+ int addPixel = 1;
Atom pixelAtom, retAtom;
int retFormat;
unsigned long nPixels, retAfter;
unsigned char *retProp;
- Pixel *pixelProp;
pixelAtom = XInternAtom(dpy, "_MIT_PRIORITY_COLORS", True);
if (XGetWindowProperty(dpy, Scr->Root, pixelAtom, 0, 8192,
False, XA_CARDINAL, &retAtom,
&retFormat, &nPixels, &retAfter,
&retProp) == Success) {
- pixelProp = (Pixel *) retProp;
+ int i;
+ Pixel *pixelProp = (Pixel *) retProp;
+
for (i = 0; (unsigned long) i < nPixels; i++)
if (pixel == pixelProp[i])
addPixel = 0;
@@ -1159,7 +1160,7 @@ do_squeeze_entry(name_list ** list, char *name, int justify, int num, int denom)
if (!sinfo) {
twmrc_error_prefix();
- fprintf(stderr, "unable to allocate %ld bytes for squeeze info\n",
+ fprintf(stderr, "unable to allocate %lu bytes for squeeze info\n",
(unsigned long) sizeof(SqueezeInfo));
return;
}
diff --git a/src/resize.c b/src/resize.c
index 07a1015..dce406d 100644
--- a/src/resize.c
+++ b/src/resize.c
@@ -608,7 +608,7 @@ ConstrainSize(TwmWindow *tmp_win, int *widthp, int *heightp)
#define makemult(a,b) ((b==1) ? (a) : (((int)((a)/(b))) * (b)) )
#define _min(a,b) (((a) < (b)) ? (a) : (b))
- int minWidth, minHeight, maxWidth, maxHeight, xinc, yinc, delta;
+ int minWidth, minHeight, maxWidth, maxHeight, xinc, yinc;
int baseWidth, baseHeight;
int dwidth = *widthp, dheight = *heightp;
@@ -694,6 +694,8 @@ ConstrainSize(TwmWindow *tmp_win, int *widthp, int *heightp)
*/
if (tmp_win->hints.flags & PAspect) {
+ int delta;
+
if (minAspectX * dheight > minAspectY * dwidth) {
delta = makemult(minAspectX * dheight / minAspectY - dwidth, xinc);
if (dwidth + delta <= maxWidth)
@@ -914,7 +916,6 @@ fullzoom(TwmWindow *tmp_win, int flag)
Window junkRoot;
unsigned int junkbw, junkDepth;
int basex, basey;
- int frame_bw_times_2;
XGetGeometry(dpy, (Drawable) tmp_win->frame, &junkRoot,
&dragx, &dragy, (unsigned int *) &dragWidth,
@@ -931,6 +932,8 @@ fullzoom(TwmWindow *tmp_win, int flag)
tmp_win->zoomed = ZOOM_NONE;
}
else {
+ int frame_bw_times_2;
+
if (tmp_win->zoomed == ZOOM_NONE) {
tmp_win->save_frame_x = dragx;
tmp_win->save_frame_y = dragy;
diff --git a/src/session.c b/src/session.c
index ed8bb33..94b4d63 100644
--- a/src/session.c
+++ b/src/session.c
@@ -274,7 +274,7 @@ WriteWinConfigEntry(FILE *configFile, TwmWindow *theWindow,
char *clientId, char *windowRole)
{
char **wm_command;
- int wm_command_count, i;
+ int wm_command_count;
if (!write_counted_string(configFile, clientId))
return 0;
@@ -311,6 +311,8 @@ WriteWinConfigEntry(FILE *configFile, TwmWindow *theWindow,
return 0;
}
else {
+ int i;
+
if (!write_byte(configFile, (unsigned char) wm_command_count))
return 0;
for (i = 0; i < wm_command_count; i++)
@@ -574,12 +576,14 @@ GetWindowConfig(TwmWindow *theWindow,
*/
char **wm_command = NULL;
- int wm_command_count = 0, i;
+ int wm_command_count = 0;
XGetCommand(dpy, theWindow->w,
&wm_command, &wm_command_count);
if (wm_command_count == ptr->wm_command_count) {
+ int i;
+
for (i = 0; i < wm_command_count; i++)
if (strcmp(wm_command[i],
ptr->wm_command[i]) != 0)
diff --git a/src/twm.c b/src/twm.c
index ce67806..405a57e 100644
--- a/src/twm.c
+++ b/src/twm.c
@@ -183,12 +183,12 @@ static char *atom_names[11] = {
/* |hasExtension()| and |IsPrintScreen()| have been stolen from
* xc/programs/xdpyinfo/xdpyinfo.c */
static Bool
-hasExtension(Display *dpy, char *extname)
+hasExtension(Display *dpy2, char *extname)
{
int num_extensions, i;
char **extensions;
- extensions = XListExtensions(dpy, &num_extensions);
+ extensions = XListExtensions(dpy2, &num_extensions);
for (i = 0; i < num_extensions &&
(strcmp(extensions[i], extname) != 0); i++);
XFreeExtensionList(extensions);
@@ -198,15 +198,15 @@ hasExtension(Display *dpy, char *extname)
static Bool
IsPrintScreen(Screen *s)
{
- Display *dpy = XDisplayOfScreen(s);
- int i;
+ Display *dpy2 = XDisplayOfScreen(s);
/* Check whether this is a screen of a print DDX */
- if (hasExtension(dpy, XP_PRINTNAME)) {
+ if (hasExtension(dpy2, XP_PRINTNAME)) {
Screen **pscreens;
int pscrcount;
+ int i;
- pscreens = XpQueryScreens(dpy, &pscrcount);
+ pscreens = XpQueryScreens(dpy2, &pscrcount);
for (i = 0; (i < pscrcount) && pscreens; i++) {
if (s == pscreens[i]) {
return True;
@@ -889,11 +889,12 @@ void
RestoreWithdrawnLocation(TwmWindow *tmp)
{
int gravx, gravy;
- unsigned int bw, mask;
+ unsigned int bw;
XWindowChanges xwc;
if (XGetGeometry(dpy, tmp->w, &JunkRoot, &xwc.x, &xwc.y,
&JunkWidth, &JunkHeight, &bw, &JunkDepth)) {
+ unsigned mask;
GetGravityOffsets(tmp, &gravx, &gravy);
if (gravy < 0)
diff --git a/src/util.c b/src/util.c
index 34d5623..7b611d3 100644
--- a/src/util.c
+++ b/src/util.c
@@ -260,7 +260,7 @@ ExpandFilename(const char *name)
newname = malloc((size_t) HomeLen + strlen(name) + 2);
if (!newname) {
fprintf(stderr,
- "%s: unable to allocate %ld bytes to expand filename %s/%s\n",
+ "%s: unable to allocate %lu bytes to expand filename %s/%s\n",
ProgramName,
(unsigned long) HomeLen + (unsigned long) strlen(name) + 2,
Home, &name[1]);
@@ -398,7 +398,7 @@ InsertRGBColormap(Atom a, XStandardColormap *maps, int nmaps, Bool replace)
if (!sc) { /* no existing, allocate new */
sc = malloc(sizeof(StdCmap));
if (!sc) {
- fprintf(stderr, "%s: unable to allocate %ld bytes for StdCmap\n",
+ fprintf(stderr, "%s: unable to allocate %lu bytes for StdCmap\n",
ProgramName, (unsigned long) sizeof(StdCmap));
return;
}
@@ -585,12 +585,13 @@ FindFontSet(MyFont *font, const char *fontname)
XFontSetExtents *font_extents;
XFontStruct **xfonts;
char **font_names;
- register int i;
- int ascent;
- int descent;
- int fnum;
if (use_fontset) {
+ int ascent;
+ int descent;
+ int fnum;
+ register int i;
+
if (font->fontset != NULL) {
XFreeFontSet(dpy, font->fontset);
}
@@ -648,10 +649,10 @@ FindFontSet(MyFont *font, const char *fontname)
void
GetFont(MyFont *font)
{
- const char *deffontname = "fixed";
if (!FindFontSet(font, font->name)) {
const char *what = "fonts";
+ const char *deffontname = "fixed";
if (use_fontset) {
what = "fontsets";
@@ -952,15 +953,6 @@ Pixmap
CreateMenuIcon(int height, unsigned *widthp, unsigned *heightp)
{
int h, w;
- int ih, iw;
- int ix, iy;
- int mh, mw;
- int tw, th;
- int lw, lh;
- int lx, ly;
- int lines, dly;
- int off;
- int bw;
h = height;
w = h * 7 / 8;
@@ -973,6 +965,15 @@ CreateMenuIcon(int height, unsigned *widthp, unsigned *heightp)
if (Scr->tbpm.menu == None) {
Pixmap pix;
GC gc;
+ int ih, iw;
+ int ix, iy;
+ int mh, mw;
+ int tw, th;
+ int lw, lh;
+ int lx, ly;
+ int lines, dly;
+ int off;
+ int bw;
pix = Scr->tbpm.menu =
XCreatePixmap(dpy, Scr->Root, (unsigned) w, (unsigned) h, 1);