---
st.c | 38 ++++++++++----------------------------
1 file changed, 10 insertions(+), 28 deletions(-)
diff --git a/st.c b/st.c
index 5251e70..8cf3483 100644
--- a/st.c
+++ b/st.c
_AT_@ -72,6 +72,7 @@ char *argv0;
#define DEFAULT(a, b) (a) = (a) ? (a) : (b)
#define BETWEEN(x, a, b) ((a) <= (x) && (x) <= (b))
#define LIMIT(x, a, b) (x) = (x) < (a) ? (a) : (x) > (b) ? (b) : (x)
+#define SWAP(t, x, y) { t __SWAP_TEMPORARY; __SWAP_TEMPORARY =
(x); (x) = (y); (y) = __SWAP_TEMPORARY; }
#define ATTRCMP(a, b) ((a).mode != (b).mode || (a).fg != (b).fg ||
(a).bg != (b).bg)
#define IS_SET(flag) ((term.mode & (flag)) != 0)
#define TIMEDIFF(t1, t2) ((t1.tv_sec-t2.tv_sec)*1000 +
(t1.tv_usec-t2.tv_usec)/1000)
_AT_@ -1358,10 +1359,7 @@ tnew(int col, int row) {
void
tswapscreen(void) {
- Line *tmp = term.line;
-
- term.line = term.alt;
- term.alt = tmp;
+ SWAP(Line *, term.line, term.alt);
term.mode ^= MODE_ALTSCREEN;
tfulldirt();
}
_AT_@ -1369,16 +1367,13 @@ tswapscreen(void) {
void
tscrolldown(int orig, int n) {
int i;
- Line temp;
LIMIT(n, 0, term.bot-orig+1);
tclearregion(0, term.bot-n+1, term.col-1, term.bot);
for(i = term.bot; i >= orig+n; i--) {
- temp = term.line[i];
- term.line[i] = term.line[i-n];
- term.line[i-n] = temp;
+ SWAP(Line, term.line[i], term.line[i-n]);
term.dirty[i] = 1;
term.dirty[i-n] = 1;
_AT_@ -1390,15 +1385,12 @@ tscrolldown(int orig, int n) {
void
tscrollup(int orig, int n) {
int i;
- Line temp;
LIMIT(n, 0, term.bot-orig+1);
tclearregion(0, orig, term.col-1, orig+n-1);
for(i = orig; i <= term.bot-n; i++) {
- temp = term.line[i];
- term.line[i] = term.line[i+n];
- term.line[i+n] = temp;
+ SWAP(Line, term.line[i], term.line[i+n]);
term.dirty[i] = 1;
term.dirty[i+n] = 1;
_AT_@ -1531,12 +1523,12 @@ tsetchar(char *c, Glyph *attr, int x, int y) {
void
tclearregion(int x1, int y1, int x2, int y2) {
- int x, y, temp;
+ int x, y;
if(x1 > x2)
- temp = x1, x1 = x2, x2 = temp;
+ SWAP(int, x1, x2);
if(y1 > y2)
- temp = y1, y1 = y2, y2 = temp;
+ SWAP(int, y1, y2);
LIMIT(x1, 0, term.col-1);
LIMIT(x2, 0, term.col-1);
_AT_@ -1711,15 +1703,9 @@ tsetattr(int *attr, int l) {
void
tsetscroll(int t, int b) {
- int temp;
-
LIMIT(t, 0, term.row-1);
LIMIT(b, 0, term.row-1);
- if(t > b) {
- temp = t;
- t = b;
- b = temp;
- }
+ if(t > b) SWAP(int, b, t);
term.top = t;
term.bot = b;
}
_AT_@ -2886,7 +2872,7 @@ xdraws(char *s, Glyph base, int x, int y, int
charlen, int bytelen) {
FcPattern *fcpattern, *fontpattern;
FcFontSet *fcsets[] = { NULL };
FcCharSet *fccharset;
- Colour *fg, *bg, *temp, revfg, revbg;
+ Colour *fg, *bg, revfg, revbg;
XRenderColor colfg, colbg;
Rectangle r;
_AT_@ -2954,11 +2940,7 @@ xdraws(char *s, Glyph base, int x, int y, int
charlen, int bytelen) {
}
}
- if(base.mode & ATTR_REVERSE) {
- temp = fg;
- fg = bg;
- bg = temp;
- }
+ if(base.mode & ATTR_REVERSE) SWAP(Colour *, fg, bg);
if(base.mode & ATTR_BLINK && term.mode & MODE_BLINK)
fg = bg;
--
1.7.11.1
Received on Mon Sep 17 2001 - 00:00:00 CEST
This archive was generated by hypermail 2.3.0 : Sun May 05 2013 - 16:36:02 CEST