[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[screen-devel] [bug #48848] ignoring -T parameter
From: |
Amadeusz Sławiński |
Subject: |
[screen-devel] [bug #48848] ignoring -T parameter |
Date: |
Wed, 14 Sep 2016 15:42:39 +0000 (UTC) |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 |
Follow-up Comment #7, bug #48848 (project screen):
char *
MakeTermcap(aflag)
int aflag;
{
char buf[TERMCAP_BUFSIZE];
register char *p, *cp, *s, ch, *tname;
int i, wi, he;
#if 0
int found;
#endif
if (display) ### Check if we are on tty
{
wi = D_width;
he = D_height;
tname = D_termname; ### here we get value from display (we are on
terminal emulator like xterm), tname = "xterm"
}
else
{
wi = 80;
he = 24;
tname = "vt100"; ### here we use vt100, cause we aren't on terminal (for
example when running screen from cron job)
}
debug1("MakeTermcap(%d)\n", aflag);
if ((s = getenv("SCREENCAP")) && strlen(s) < TERMCAP_BUFSIZE) ### check for
user provided SCREENCAP
{
sprintf(Termcap, "TERMCAP=%s", s);
strcpy(Term, "TERM=screen"); ### Here we just set $TERM to
screen
debug("getenvSCREENCAP o.k.\n");
return Termcap;
}
Termcaplen = 0;
debug1("MakeTermcap screenterm='%s'\n", screenterm);
debug1("MakeTermcap termname='%s'\n", tname);
if (*screenterm == '\0' || strlen(screenterm) > MAXSTR - 3)
{
debug("MakeTermcap sets screenterm=screen\n");
strncpy(screenterm, "screen", MAXTERMLEN); ### screenterm = "screen"
screenterm[MAXTERMLEN] = '\0';
}
#if 0
found = 1;
#endif
do
{
strcpy(Term, "TERM="); ### here wego and start setting $TERM, it's
usual case (ie, we didn't bailout on SCREENCAP check above)
p = Term + 5;
if (!aflag && strlen(screenterm) + strlen(tname) < MAXSTR-1) ### if we
are not attaching and we will fit into string
{
sprintf(p, "%s.%s", screenterm, tname); ### screenterm + '.' + tname;
assuming above result is "screen.xterm"
if (e_tgetent(buf, p) == 1) ### we found terminal entry
break; ### so we break out of do
loop
}
#ifdef COLOR
if (nwin_default.bce)
{
sprintf(p, "%s-bce", screenterm);
if (e_tgetent(buf, p) == 1)
break;
}
#endif
#ifdef CHECK_SCREEN_W
if (wi >= 132)
{
sprintf(p, "%s-w", screenterm);
if (e_tgetent(buf, p) == 1)
break;
}
#endif
strcpy(p, screenterm);
if (e_tgetent(buf, p) == 1)
break;
strcpy(p, "vt100");
#if 0
found = 0;
#endif
}
while (0); /* Goto free programming... */
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?48848>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/