ssize_t
xwrite(int fd, const char *s, size_t len)
{
- size_t aux = len, r;
+ size_t aux = len;
+ ssize_t r;
while (len > 0) {
r = write(fd, s, len);
len -= r;
s += r;
}
+
return aux;
}
return 0;
*u = udecoded;
utf8validate(u, len);
+
return len;
}
for (*i = 0; *i < LEN(utfmask); ++(*i))
if (((uchar)c & utfmask[*i]) == utfbyte[*i])
return (uchar)c & ~utfmask[*i];
+
return 0;
}
len = utf8validate(&u, 0);
if (len > UTF_SIZ)
return 0;
+
for (i = len - 1; i != 0; --i) {
c[i] = utf8encodebyte(u, 0);
u >>= 6;
}
c[0] = utf8encodebyte(u, len);
+
return len;
}
if (r == u)
return &(s[i]);
}
+
return NULL;
}
*u = UTF_INVALID;
for (i = 1; *u > utfmax[i]; ++i)
;
+
return i;
}
die("who are you?\n");
}
- if (!(sh = getenv("SHELL"))) {
+ if ((sh = getenv("SHELL")) == NULL)
sh = (pw->pw_shell[0]) ? pw->pw_shell : shell;
- }
if (opt_cmd)
prog = opt_cmd[0];
} else
name = colorname[i];
}
+
return XftColorAllocName(xw.dpy, xw.vis, xw.cmap, name, ncolor);
}
XftColorFree(xw.dpy, xw.vis, xw.cmap, &dc.col[x]);
dc.col[x] = ncolor;
+
return 0;
}
case YNegative:
return SouthWestGravity;
}
+
return SouthEastGravity;
}
do {
XNextEvent(xw.dpy, &ev);
/*
- * XFilterEvent is required to be called after you using XOpenIM,
- * this is not unnecessary.It does not only filter the key event,
- * but some clientmessage for input method as well.
+ * This XFilterEvent call is required because of XOpenIM. It
+ * does filter out the key event and some client message for
+ * the input method too.
*/
if (XFilterEvent(&ev, None))
continue;