static void tsetmode(bool, bool, int *, int);
static void tfulldirt(void);
static void techo(char *, int);
-static ulong tdefcolor(int *, int *, int);
+static long tdefcolor(int *, int *, int);
static inline bool match(uint, uint);
static void ttynew(void);
static void ttyread(void);
static ssize_t xwrite(int, char *, size_t);
static void *xmalloc(size_t);
static void *xrealloc(void *, size_t);
-static void *xcalloc(size_t, size_t);
static void (*handler[LASTEvent])(XEvent *) = {
[KeyPress] = kpress,
return p;
}
-void *
-xcalloc(size_t nmemb, size_t size) {
- void *p = calloc(nmemb, size);
-
- if(!p)
- die("Out of memory\n");
-
- return p;
-}
-
int
utf8decode(char *s, long *u) {
uchar c;
void
tnew(int col, int row) {
- memset(&term, 0, sizeof(Term));
+ term = (Term){ .c = { .attr = { .fg = defaultfg, .bg = defaultbg } } };
tresize(col, row);
term.numlock = 1;
tscrollup(term.c.y, n);
}
-ulong
+long
tdefcolor(int *attr, int *npar, int l) {
long idx = -1;
uint r, g, b;
void
tsetattr(int *attr, int l) {
int i;
- ulong idx;
+ long idx;
for(i = 0; i < l; i++) {
switch(attr[i]) {
/* allocate any new rows */
for(/* i == minrow */; i < row; i++) {
term.dirty[i] = 1;
- term.line[i] = xcalloc(col, sizeof(Glyph));
- term.alt [i] = xcalloc(col, sizeof(Glyph));
+ term.line[i] = xmalloc(col * sizeof(Glyph));
+ term.alt[i] = xmalloc(col * sizeof(Glyph));
}
if(col > term.col) {
bp = term.tabs + term.col;
winy + font->ascent,
(FcChar8 *)u8fs,
u8fblen);
- xp += CEIL(font->width * cwscale * u8fl);
+ xp += xw.cw * u8fl;
}
break;
u8fblen += u8cblen;
}
if(doesexist) {
- if (oneatatime);
+ if (oneatatime)
continue;
break;
}
xp, winy + frc[i].font->ascent,
(FcChar8 *)u8c, u8cblen);
- xp += CEIL(font->width * cwscale);
+ xp += xw.cw;
}
/*
xw.fh = (int)hr;
if(bitm & XNegative && xw.fx == 0)
xw.fx = -1;
- if(bitm & XNegative && xw.fy == 0)
+ if(bitm & YNegative && xw.fy == 0)
xw.fy = -1;
if(xw.fh != 0 && xw.fw != 0)