version 1.12, 2003/04/05 01:39:50 |
version 1.13, 2003/04/19 23:56:09 |
|
|
|
|
kp = wwwintermcap; |
kp = wwwintermcap; |
if (wwavailmodes & WWM_REV) |
if (wwavailmodes & WWM_REV) |
wwaddcap1(WWT_REV, &kp); |
wwaddcap1(WWT_REV, &kp, wwwintermcap + sizeof wwwintermcap - |
|
kp); |
if (wwavailmodes & WWM_BLK) |
if (wwavailmodes & WWM_BLK) |
wwaddcap1(WWT_BLK, &kp); |
wwaddcap1(WWT_BLK, &kp, wwwintermcap + sizeof wwwintermcap - |
|
kp); |
if (wwavailmodes & WWM_UL) |
if (wwavailmodes & WWM_UL) |
wwaddcap1(WWT_UL, &kp); |
wwaddcap1(WWT_UL, &kp, wwwintermcap + sizeof wwwintermcap - |
|
kp); |
if (wwavailmodes & WWM_GRP) |
if (wwavailmodes & WWM_GRP) |
wwaddcap1(WWT_GRP, &kp); |
wwaddcap1(WWT_GRP, &kp, wwwintermcap + sizeof wwwintermcap - |
|
kp); |
if (wwavailmodes & WWM_DIM) |
if (wwavailmodes & WWM_DIM) |
wwaddcap1(WWT_DIM, &kp); |
wwaddcap1(WWT_DIM, &kp, wwwintermcap + sizeof wwwintermcap - |
|
kp); |
if (wwavailmodes & WWM_USR) |
if (wwavailmodes & WWM_USR) |
wwaddcap1(WWT_USR, &kp); |
wwaddcap1(WWT_USR, &kp, wwwintermcap + sizeof wwwintermcap - |
|
kp); |
if (tt.tt_insline && tt.tt_delline || tt.tt_setscroll) |
if (tt.tt_insline && tt.tt_delline || tt.tt_setscroll) |
wwaddcap1(WWT_ALDL, &kp); |
wwaddcap1(WWT_ALDL, &kp, wwwintermcap + sizeof wwwintermcap - |
|
kp); |
if (tt.tt_inschar) |
if (tt.tt_inschar) |
wwaddcap1(WWT_IMEI, &kp); |
wwaddcap1(WWT_IMEI, &kp, wwwintermcap + sizeof wwwintermcap - |
|
kp); |
if (tt.tt_insspace) |
if (tt.tt_insspace) |
wwaddcap1(WWT_IC, &kp); |
wwaddcap1(WWT_IC, &kp, wwwintermcap + sizeof wwwintermcap - |
|
kp); |
if (tt.tt_delchar) |
if (tt.tt_delchar) |
wwaddcap1(WWT_DC, &kp); |
wwaddcap1(WWT_DC, &kp, wwwintermcap + sizeof wwwintermcap - |
wwaddcap("kb", &kp); |
kp); |
wwaddcap("ku", &kp); |
wwaddcap("kb", &kp, wwwintermcap + sizeof wwwintermcap - kp); |
wwaddcap("kd", &kp); |
wwaddcap("ku", &kp, wwwintermcap + sizeof wwwintermcap - kp); |
wwaddcap("kl", &kp); |
wwaddcap("kd", &kp, wwwintermcap + sizeof wwwintermcap - kp); |
wwaddcap("kr", &kp); |
wwaddcap("kl", &kp, wwwintermcap + sizeof wwwintermcap - kp); |
wwaddcap("kh", &kp); |
wwaddcap("kr", &kp, wwwintermcap + sizeof wwwintermcap - kp); |
|
wwaddcap("kh", &kp, wwwintermcap + sizeof wwwintermcap - kp); |
if ((j = tgetnum("kn")) >= 0) { |
if ((j = tgetnum("kn")) >= 0) { |
char cap[32]; |
char cap[32]; |
|
|
(void) sprintf(kp, "kn#%d:", j); |
(void) snprintf(kp, wwwintermcap + sizeof wwwintermcap - kp, |
|
"kn#%d:", j); |
for (; *kp; kp++) |
for (; *kp; kp++) |
; |
; |
for (i = 1; i <= j; i++) { |
for (i = 1; i <= j; i++) { |
(void) snprintf(cap, sizeof(cap), "k%d", i); |
(void) snprintf(cap, sizeof(cap), "k%d", i); |
wwaddcap(cap, &kp); |
wwaddcap(cap, &kp, wwwintermcap + |
|
sizeof wwwintermcap - kp); |
cap[0] = 'l'; |
cap[0] = 'l'; |
wwaddcap(cap, &kp); |
wwaddcap(cap, &kp, wwwintermcap + |
|
sizeof wwwintermcap - kp); |
} |
} |
} |
} |
/* |
/* |
|
|
return -1; |
return -1; |
} |
} |
|
|
wwaddcap(cap, kp) |
wwaddcap(cap, kp, len) |
char *cap; |
char *cap; |
char **kp; |
char **kp; |
|
int len; |
{ |
{ |
char tbuf[512]; |
char tbuf[1024]; /* tgetstr(, &tp) does strlcpy(tp,, 1024) */ |
char *tp = tbuf; |
char *tp = tbuf; |
char *str, *p; |
char *str, *p; |
|
|
if ((str = tgetstr(cap, &tp)) != 0) { |
if ((str = tgetstr(cap, &tp)) != 0) { |
|
int need = strlen(cap) + 3; |
|
|
|
for (p = str; *p; ++p) |
|
need += strlen(unctrl(*p)); |
|
if (need > len) |
|
return; |
while (*(*kp)++ = *cap++) |
while (*(*kp)++ = *cap++) |
; |
; |
(*kp)[-1] = '='; |
(*kp)[-1] = '='; |
|
|
} |
} |
} |
} |
|
|
wwaddcap1(cap, kp) |
wwaddcap1(cap, kp, len) |
char *cap; |
char *cap; |
char **kp; |
char **kp; |
|
int len; |
{ |
{ |
|
if (strlen(cap) + 1 > len) |
|
return; |
while (*(*kp)++ = *cap++) |
while (*(*kp)++ = *cap++) |
; |
; |
(*kp)--; |
(*kp)--; |