[BACK]Return to pod2mdoc.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / pod2mdoc

Diff for /pod2mdoc/pod2mdoc.c between version 1.19 and 1.20

version 1.19, 2014/04/03 10:17:14 version 1.20, 2014/04/03 11:34:30
Line 215  trylink(const char *buf, size_t *start, size_t end, si
Line 215  trylink(const char *buf, size_t *start, size_t end, si
                 if ('|' == buf[textsz] || '/' == buf[textsz])                  if ('|' == buf[textsz] || '/' == buf[textsz])
                         break;                          break;
   
         /* If we have a title, find the section. */  
         if (textsz < linkend && '|' == buf[textsz]) {          if (textsz < linkend && '|' == buf[textsz]) {
                   /* With title: set start, then end at section. */
                 linkstart = textsz + 1;                  linkstart = textsz + 1;
                 textsz = textsz - *start;                  textsz = textsz - *start;
                 for (i = linkstart; i < linkend; i++)                  for (i = linkstart; i < linkend; i++)
Line 224  trylink(const char *buf, size_t *start, size_t end, si
Line 224  trylink(const char *buf, size_t *start, size_t end, si
                                 break;                                  break;
                 if (i < linkend)                  if (i < linkend)
                         linkend = i;                          linkend = i;
         } else {          } else if (textsz < linkend && '/' == buf[textsz]) {
                   /* With section: set end at section. */
                   linkend = textsz;
                 textsz = 0;                  textsz = 0;
                 if (textsz < linkend && '/' == buf[textsz])          } else
                         linkend = textsz;                  /* No title, no section. */
         }                  textsz = 0;
   
         *start = realend;          *start = realend;
   
         j = linkend - linkstart;          j = linkend - linkstart;
   
         if (0 == j)          /* Do we have only subsection material? */
           if (0 == j && '/' == buf[linkend]) {
                   linkstart = linkend + 1;
                   linkend = dsz > 1 ? realend - 1 : realend;
                   if (0 == (j = linkend - linkstart))
                           return(0);
                   printf("Sx %.*s", (int)j, &buf[linkstart]);
                   return(1);
           } else if (0 == j)
                 return(0);                  return(0);
   
         /* See if we qualify as being a link or not. */          /* See if we qualify as being a link or not. */
         if ((j > 5 && 0 == memcmp("http:", &buf[linkstart], j)) ||          if ((j > 4 && 0 == memcmp("http:", &buf[linkstart], j)) ||
                 (j > 6 && 0 == memcmp("https:", &buf[linkstart], j)) ||                  (j > 5 && 0 == memcmp("https:", &buf[linkstart], j)) ||
                 (j > 4 && 0 == memcmp("ftp:", &buf[linkstart], j)) ||                  (j > 3 && 0 == memcmp("ftp:", &buf[linkstart], j)) ||
                 (j > 5 && 0 == memcmp("sftp:", &buf[linkstart], j)) ||                  (j > 4 && 0 == memcmp("sftp:", &buf[linkstart], j)) ||
                 (j > 4 && 0 == memcmp("smb:", &buf[linkstart], j)) ||                  (j > 3 && 0 == memcmp("smb:", &buf[linkstart], j)) ||
                 (j > 4 && 0 == memcmp("afs:", &buf[linkstart], j))) {                  (j > 3 && 0 == memcmp("afs:", &buf[linkstart], j))) {
                 printf("Lk %.*s", (int)j, &buf[linkstart]);                  /* Gross. */
                   printf("Lk %.*s", (int)((dsz > 1 ? realend - 1 :
                           realend) - linkstart), &buf[linkstart]);
                 return(1);                  return(1);
         }          }
   
         /* See if we qualify as a mailto. */          /* See if we qualify as a mailto. */
         if (j > 7 && 0 == memcmp("mailto:", &buf[linkstart], j)) {          if (j > 6 && 0 == memcmp("mailto:", &buf[linkstart], j)) {
                 printf("Mt %.*s", (int)j, &buf[linkstart]);                  printf("Mt %.*s", (int)j, &buf[linkstart]);
                 return(1);                  return(1);
         }          }

Legend:
Removed from v.1.19  
changed lines
  Added in v.1.20

CVSweb