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

Diff for /mandoc/mandocdb.c between version 1.222 and 1.223

version 1.222, 2016/07/19 22:40:33 version 1.223, 2016/07/29 15:23:57
Line 1084  mlink_check(struct mpage *mpage, struct mlink *mlink)
Line 1084  mlink_check(struct mpage *mpage, struct mlink *mlink)
 static void  static void
 mpages_merge(struct dba *dba, struct mparse *mp)  mpages_merge(struct dba *dba, struct mparse *mp)
 {  {
         char                     any[] = "any";  
         struct mpage            *mpage, *mpage_dest;          struct mpage            *mpage, *mpage_dest;
         struct mlink            *mlink, *mlink_dest;          struct mlink            *mlink, *mlink_dest;
         struct roff_man         *man;          struct roff_man         *man;
Line 1186  mpages_merge(struct dba *dba, struct mparse *mp)
Line 1185  mpages_merge(struct dba *dba, struct mparse *mp)
                         mpage->arch = mandoc_strdup(mlink->arch);                          mpage->arch = mandoc_strdup(mlink->arch);
                         mpage->title = mandoc_strdup(mlink->name);                          mpage->title = mandoc_strdup(mlink->name);
                 }                  }
                 putkey(mpage, mpage->sec, TYPE_sec);  
                 if (*mpage->arch != '\0')  
                         putkey(mpage, mpage->arch, TYPE_arch);  
   
                 for ( ; mlink != NULL; mlink = mlink->next) {  
                         if ('\0' != *mlink->dsec)  
                                 putkey(mpage, mlink->dsec, TYPE_sec);  
                         if ('\0' != *mlink->fsec)  
                                 putkey(mpage, mlink->fsec, TYPE_sec);  
                         putkey(mpage, '\0' == *mlink->arch ?  
                             any : mlink->arch, TYPE_arch);  
                         putkey(mpage, mlink->name, NAME_FILE);  
                 }  
   
                 assert(mpage->desc == NULL);                  assert(mpage->desc == NULL);
                 if (man != NULL && man->macroset == MACROSET_MDOC)                  if (man != NULL && man->macroset == MACROSET_MDOC)
                         parse_mdoc(mpage, &man->meta, man->first);                          parse_mdoc(mpage, &man->meta, man->first);
Line 1347  parse_cat(struct mpage *mpage, int fd)
Line 1333  parse_cat(struct mpage *mpage, int fd)
 static void  static void
 putkey(const struct mpage *mpage, char *value, uint64_t type)  putkey(const struct mpage *mpage, char *value, uint64_t type)
 {  {
         char     *cp;  
   
         assert(NULL != value);  
         if (TYPE_arch == type)  
                 for (cp = value; *cp; cp++)  
                         if (isupper((unsigned char)*cp))  
                                 *cp = _tolower((unsigned char)*cp);  
         putkeys(mpage, value, strlen(value), type);          putkeys(mpage, value, strlen(value), type);
 }  }
   
Line 1954  dbadd_mlink(const struct mlink *mlink)
Line 1933  dbadd_mlink(const struct mlink *mlink)
 {  {
         dba_page_alias(mlink->mpage->dba, mlink->name, NAME_FILE);          dba_page_alias(mlink->mpage->dba, mlink->name, NAME_FILE);
         dba_page_add(mlink->mpage->dba, DBP_SECT, mlink->dsec);          dba_page_add(mlink->mpage->dba, DBP_SECT, mlink->dsec);
           dba_page_add(mlink->mpage->dba, DBP_SECT, mlink->fsec);
         dba_page_add(mlink->mpage->dba, DBP_ARCH, mlink->arch);          dba_page_add(mlink->mpage->dba, DBP_ARCH, mlink->arch);
         dba_page_add(mlink->mpage->dba, DBP_FILE, mlink->file);          dba_page_add(mlink->mpage->dba, DBP_FILE, mlink->file);
 }  }
Line 2013  dbadd(struct dba *dba, struct mpage *mpage)
Line 1993  dbadd(struct dba *dba, struct mpage *mpage)
         cp = mpage->desc;          cp = mpage->desc;
         i = strlen(cp);          i = strlen(cp);
         mustfree = render_string(&cp, &i);          mustfree = render_string(&cp, &i);
         mpage->dba = dba_page_new(dba->pages, mlink->name,          mpage->dba = dba_page_new(dba->pages, mlink->name, mpage->sec,
             mlink->dsec, mlink->arch, cp, mlink->file, mpage->form);              *mpage->arch == '\0' ? mlink->arch : mpage->arch,
               cp, mlink->file, mpage->form);
         if (mustfree)          if (mustfree)
                 free(cp);                  free(cp);
   
         while ((mlink = mlink->next) != NULL)          while (mlink != NULL) {
                 dbadd_mlink(mlink);                  dbadd_mlink(mlink);
                   mlink = mlink->next;
           }
   
         for (key = ohash_first(&names, &slot); NULL != key;          for (key = ohash_first(&names, &slot); NULL != key;
              key = ohash_next(&names, &slot)) {               key = ohash_next(&names, &slot)) {

Legend:
Removed from v.1.222  
changed lines
  Added in v.1.223

CVSweb