screen-devel
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]