[BACK]Return to termcap.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libterm

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/lib/libterm/Attic/termcap.c between version 1.43 and 1.43.2.1

version 1.43, 2001/12/10 12:11:05 version 1.43.2.1, 2002/06/21 14:44:16
Line 71  __RCSID("$NetBSD$");
Line 71  __RCSID("$NetBSD$");
  * doesn't, and because living w/o it is not hard.   * doesn't, and because living w/o it is not hard.
  */   */
   
 static  char *tbuf;     /* termcap buffer */  static char *tbuf = NULL;               /* termcap buffer */
 static  struct tinfo *fbuf;     /* untruncated termcap buffer */  static struct tinfo *fbuf = NULL;       /* untruncated termcap buffer */
   
 /*  /*
  * Set the termcap entry to the arbitrary string passed in, this can   * Set the termcap entry to the arbitrary string passed in, this can
Line 133  t_getent(bp, name)
Line 133  t_getent(bp, name)
         char  *pathvec[PVECSIZ];        /* to point to names in pathbuf */          char  *pathvec[PVECSIZ];        /* to point to names in pathbuf */
         char  *termpath;          char  *termpath;
         char  capability[256], *cap_ptr;          char  capability[256], *cap_ptr;
           int error;
   
   
         _DIAGASSERT(bp != NULL);          _DIAGASSERT(bp != NULL);
         _DIAGASSERT(name != NULL);          _DIAGASSERT(name != NULL);
   
         if ((*bp = malloc(sizeof(struct tinfo))) == NULL) return 0;          if ((*bp = malloc(sizeof(struct tinfo))) == NULL)
                   return 0;
   
         fname = pathvec;          fname = pathvec;
         p = pathbuf;          p = pathbuf;
Line 208  t_getent(bp, name)
Line 210  t_getent(bp, name)
         did_getset = 0;          did_getset = 0;
         if (cp && *cp && *cp != '/' && strstr(cp, ":ZZ") == NULL) {          if (cp && *cp && *cp != '/' && strstr(cp, ":ZZ") == NULL) {
                 did_getset = 1;                  did_getset = 1;
                 if (cgetset(cp) < 0)                  if (cgetset(cp) < 0) {
                         return (-2);                          error = -2;
                           goto out;
                   }
         }          }
   
         /*          /*
Line 227  t_getent(bp, name)
Line 231  t_getent(bp, name)
          */           */
         if ((i < 0) && (did_getset == 0)) {          if ((i < 0) && (did_getset == 0)) {
                 if (cp && *cp && *cp != '/')                  if (cp && *cp && *cp != '/')
                         if (cgetset(cp) < 0)                          if (cgetset(cp) < 0) {
                                 return (-2);                                  error = -2;
                                   goto out;
                           }
                 i = cgetent(&((*bp)->info), pathvec, name);                  i = cgetent(&((*bp)->info), pathvec, name);
         }          }
   
         /* no tc reference loop return code in libterm XXX */          /* no tc reference loop return code in libterm XXX */
         if (i == -3)          if (i == -3) {
                 return (-1);                  error = -1;
                   goto out;
           }
   
           /* fill in t_goto capabilities - this prevents memory leaks          /*
            * and is more efficient than fetching these capabilities           * fill in t_goto capabilities - this prevents memory leaks
            * every time t_goto is called.           * and is more efficient than fetching these capabilities
            */           * every time t_goto is called.
            */
         if (i >= 0) {          if (i >= 0) {
                 cap_ptr = capability;                  cap_ptr = capability;
                 limit = 255;                  limit = 255;
Line 252  t_getent(bp, name)
Line 261  t_getent(bp, name)
                 if ((*bp)->bc)                  if ((*bp)->bc)
                         (*bp)->bc = strdup((*bp)->bc);                          (*bp)->bc = strdup((*bp)->bc);
                 (*bp)->tbuf = NULL;                  (*bp)->tbuf = NULL;
           } else {
                   error = i + 1;
                   goto out;
         }          }
   
         return (i + 1);          return (i + 1);
   out:
           free(*bp);
           *bp = NULL;
           return error;
 }  }
   
 /*  /*
Line 329  int
Line 345  int
 tgetnum(id)  tgetnum(id)
         const char *id;          const char *id;
 {  {
         return t_getnum(fbuf, id);          return fbuf ? t_getnum(fbuf, id) : -1;
 }  }
   
 /*  /*
Line 352  int
Line 368  int
 tgetflag(id)  tgetflag(id)
         const char *id;          const char *id;
 {  {
         return t_getflag(fbuf, id);          return fbuf ? t_getflag(fbuf, id) : 0;
 }  }
   
 /*  /*
Line 429  tgetstr(id, area)
Line 445  tgetstr(id, area)
         char ids[3];          char ids[3];
   
         _DIAGASSERT(id != NULL);          _DIAGASSERT(id != NULL);
   
           if (fbuf == NULL)
                   return NULL;
   
         /*          /*
          * XXX           * XXX
          * This is for all the boneheaded programs that relied on tgetstr           * This is for all the boneheaded programs that relied on tgetstr

Legend:
Removed from v.1.43  
changed lines
  Added in v.1.43.2.1

CVSweb <webmaster@jp.NetBSD.org>