[BACK]Return to tputs.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/tputs.c between version 1.14 and 1.15

version 1.14, 1999/10/04 23:16:52 version 1.15, 2000/06/02 13:13:12
Line 46  __RCSID("$NetBSD$");
Line 46  __RCSID("$NetBSD$");
 #include <ctype.h>  #include <ctype.h>
 #include <termcap.h>  #include <termcap.h>
 #include <stdio.h>  #include <stdio.h>
   #include <stdlib.h>
 #undef ospeed  #undef ospeed
   
 /* internal functions */  /* internal functions */
Line 67  char PC;
Line 68  char PC;
 int  int
 _tputs_convert(ptr, affcnt)  _tputs_convert(ptr, affcnt)
         const char **ptr;          const char **ptr;
         int affcnt;          int affcnt;
 {  {
         int i = 0;          int i = 0;
   
           /*          /*
            * Convert the number representing the delay.           * Convert the number representing the delay.
            */           */
         if (isdigit(*(*ptr))) {          if (isdigit(*(*ptr))) {
                 do                  do
                         i = i * 10 + *(*ptr)++ - '0';                          i = i * 10 + *(*ptr)++ - '0';
Line 98  _tputs_convert(ptr, affcnt)
Line 99  _tputs_convert(ptr, affcnt)
         if (*(*ptr) == '*')          if (*(*ptr) == '*')
                 (*ptr)++, i *= affcnt;                  (*ptr)++, i *= affcnt;
   
         return i;          return i;
 }  }
   
 /*  /*
Line 120  tputs(cp, affcnt, outc)
Line 121  tputs(cp, affcnt, outc)
         if (cp == 0)          if (cp == 0)
                 return;                  return;
   
           /* scan and convert delay digits (if any) */          /* scan and convert delay digits (if any) */
         i = _tputs_convert(&cp, affcnt);          i = _tputs_convert(&cp, affcnt);
   
         /*          /*
          * The guts of the string.           * The guts of the string.
          */           */
Line 155  tputs(cp, affcnt, outc)
Line 156  tputs(cp, affcnt, outc)
 int  int
 t_puts(info, cp, affcnt, outc, args)  t_puts(info, cp, affcnt, outc, args)
         struct tinfo *info;          struct tinfo *info;
         const char *cp;          const char *cp;
         int affcnt;          int affcnt;
         void (*outc) __P((char, void *));          void (*outc) __P((char, void *));
         void *args;          void *args;
 {  {
         int i = 0;          int i = 0;
         size_t limit = 2;          size_t limit;
         int mspc10;          int mspc10;
         char pad[2], *pptr;          char pad[2], *pptr;
           char *pc;
   
           if (info != NULL)
           {
                   /*
                    * if we have info then get the pad char from the
                    * termcap entry if it exists, otherwise use the
                    * default NUL char.
                    */
                   pptr = pad;
                   limit = sizeof(pad);
                   pc = t_getstr(info, "pc", &pptr, &limit);
                   if (pc == NULL)
                           pad[0] = '\0';
                   else
                           free(pc);
           }
   
         if (info != NULL)  
         {  
                   /*  
                    * if we have info then get the pad char from the  
                    * termcap entry if it exists, otherwise use the  
                    * default NUL char.  
                    */  
                 pptr = pad;  
                 if (t_getstr(info, "pc", &pptr, &limit) == NULL)  
                 {  
                         pad[0] = '\0';  
                 }  
         }  
   
         if (cp == 0)          if (cp == 0)
                 return -1;                  return -1;
   
           /* scan and convert delay digits (if any) */          /* scan and convert delay digits (if any) */
         i = _tputs_convert(&cp, affcnt);          i = _tputs_convert(&cp, affcnt);
   
         /*          /*
          * The guts of the string.           * The guts of the string.
          */           */
Line 212  t_puts(info, cp, affcnt, outc, args)
Line 216  t_puts(info, cp, affcnt, outc, args)
         for (i /= mspc10; i > 0; i--)          for (i /= mspc10; i > 0; i--)
                 (*outc)(pad[0], args);                  (*outc)(pad[0], args);
   
         return 0;          return 0;
 }  }

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15

CVSweb <webmaster@jp.NetBSD.org>