[BACK]Return to paste.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / paste

Diff for /src/usr.bin/paste/paste.c between version 1.17 and 1.18

version 1.17, 2009/10/27 23:59:41 version 1.18, 2010/08/12 05:02:52
Line 58 
Line 58 
         int ch, seq;          int ch, seq;
   
         seq = 0;          seq = 0;
         while ((ch = getopt(argc, argv, "d:s")) != -1)          while ((ch = getopt(argc, argv, "d:s")) != -1) {
                 switch(ch) {                  switch (ch) {
                 case 'd':                  case 'd':
                         delimcnt = tr(delim = optarg);                          delimcnt = tr(delim = optarg);
                         break;                          break;
Line 70 
Line 70 
                 default:                  default:
                         usage();                          usage();
                 }                  }
           }
         argc -= optind;          argc -= optind;
         argv += optind;          argv += optind;
   
Line 135 
Line 136 
                                         putchar(ch);                                          putchar(ch);
                                 continue;                                  continue;
                         }                          }
                         if (*(buf + len - 1) == '\n')                          if (buf[len - 1] == '\n')
                                 *(buf + len - 1) = '\0';                                  buf[len - 1] = '\0';
                         else {                          else {
                                 if ((lbuf = malloc(len + 1)) == NULL)                                  if ((lbuf = malloc(len + 1)) == NULL)
                                         err(1, "malloc");                                          err(1, "malloc");
Line 183 
Line 184 
                 }                  }
                 if ((buf = fgetln(fp, &len))) {                  if ((buf = fgetln(fp, &len))) {
                         for (cnt = 0, dp = delim;;) {                          for (cnt = 0, dp = delim;;) {
                                 if (*(buf + len - 1) == '\n')                                  if (buf[len - 1] == '\n')
                                         *(buf + len - 1) = '\0';                                          buf[len - 1] = '\0';
                                 else {                                  else {
                                         if ((lbuf = malloc(len + 1)) == NULL)                                          if ((lbuf = malloc(len + 1)) == NULL)
                                                 err(1, "malloc");                                                  err(1, "malloc");
Line 217 
Line 218 
         int cnt;          int cnt;
         char ch, *p;          char ch, *p;
   
         for (p = arg, cnt = 0; (ch = *p++); ++arg, ++cnt)          for (p = arg, cnt = 0; (ch = *p++); ++arg, ++cnt) {
                 if (ch == '\\')                  if (ch == '\\') {
                         switch(ch = *p++) {                          switch (ch = *p++) {
                         case 'n':                          case 'n':
                                 *arg = '\n';                                  *arg = '\n';
                                 break;                                  break;
Line 232 
Line 233 
                         default:                          default:
                                 *arg = ch;                                  *arg = ch;
                                 break;                                  break;
                           }
                 } else                  } else
                         *arg = ch;                          *arg = ch;
           }
   
         if (!cnt)          if (!cnt)
                 errx(1, "no delimiters specified");                  errx(1, "no delimiters specified");
         return(cnt);          return (cnt);
 }  }
   
 void  void

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18