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

Diff for /src/usr.bin/mandoc/tag.c between version 1.21 and 1.22

version 1.21, 2018/11/22 11:30:15 version 1.22, 2019/07/10 19:38:56
Line 1 
Line 1 
 /*      $OpenBSD$ */  /*      $OpenBSD$ */
 /*  /*
  * Copyright (c) 2015, 2016, 2018 Ingo Schwarze <schwarze@openbsd.org>   * Copyright (c) 2015, 2016, 2018, 2019 Ingo Schwarze <schwarze@openbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above   * purpose with or without fee is hereby granted, provided that the above
Line 16 
Line 16 
  */   */
 #include <sys/types.h>  #include <sys/types.h>
   
 #include <err.h>  #include <errno.h>
 #include <limits.h>  #include <limits.h>
 #include <signal.h>  #include <signal.h>
 #include <stddef.h>  #include <stddef.h>
Line 28 
Line 28 
   
 #include "mandoc_aux.h"  #include "mandoc_aux.h"
 #include "mandoc_ohash.h"  #include "mandoc_ohash.h"
   #include "mandoc.h"
 #include "tag.h"  #include "tag.h"
   
 struct tag_entry {  struct tag_entry {
Line 79 
Line 80 
   
         /* Save the original standard output for use by the pager. */          /* Save the original standard output for use by the pager. */
   
         if ((tag_files.ofd = dup(STDOUT_FILENO)) == -1)          if ((tag_files.ofd = dup(STDOUT_FILENO)) == -1) {
                   mandoc_msg(MANDOCERR_DUP, 0, 0, "%s", strerror(errno));
                 goto fail;                  goto fail;
           }
   
         /* Create both temporary output files. */          /* Create both temporary output files. */
   
Line 88 
Line 91 
             sizeof(tag_files.ofn));              sizeof(tag_files.ofn));
         (void)strlcpy(tag_files.tfn, "/tmp/man.XXXXXXXXXX",          (void)strlcpy(tag_files.tfn, "/tmp/man.XXXXXXXXXX",
             sizeof(tag_files.tfn));              sizeof(tag_files.tfn));
         if ((ofd = mkstemp(tag_files.ofn)) == -1)          if ((ofd = mkstemp(tag_files.ofn)) == -1) {
                   mandoc_msg(MANDOCERR_MKSTEMP, 0, 0,
                       "%s: %s", tag_files.ofn, strerror(errno));
                 goto fail;                  goto fail;
         if ((tag_files.tfd = mkstemp(tag_files.tfn)) == -1)          }
           if ((tag_files.tfd = mkstemp(tag_files.tfn)) == -1) {
                   mandoc_msg(MANDOCERR_MKSTEMP, 0, 0,
                       "%s: %s", tag_files.tfn, strerror(errno));
                 goto fail;                  goto fail;
         if (dup2(ofd, STDOUT_FILENO) == -1)          }
           if (dup2(ofd, STDOUT_FILENO) == -1) {
                   mandoc_msg(MANDOCERR_DUP, 0, 0, "%s", strerror(errno));
                 goto fail;                  goto fail;
           }
         close(ofd);          close(ofd);
   
         /*          /*
Line 217 
Line 228 
                 return;                  return;
         if (tag_files.tagname != NULL && ohash_find(&tag_data,          if (tag_files.tagname != NULL && ohash_find(&tag_data,
             ohash_qlookup(&tag_data, tag_files.tagname)) == NULL) {              ohash_qlookup(&tag_data, tag_files.tagname)) == NULL) {
                 warnx("%s: no such tag", tag_files.tagname);                  mandoc_msg(MANDOCERR_TAG, 0, 0, "%s", tag_files.tagname);
                 tag_files.tagname = NULL;                  tag_files.tagname = NULL;
         }          }
         stream = fdopen(tag_files.tfd, "w");          if ((stream = fdopen(tag_files.tfd, "w")) == NULL)
                   mandoc_msg(MANDOCERR_FDOPEN, 0, 0, "%s", strerror(errno));
         entry = ohash_first(&tag_data, &slot);          entry = ohash_first(&tag_data, &slot);
         while (entry != NULL) {          while (entry != NULL) {
                 if (stream != NULL && entry->prio >= 0)                  if (stream != NULL && entry->prio >= 0)

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.22