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

Diff for /mandoc/tag.c between version 1.1 and 1.2

version 1.1, 2015/07/17 22:38:29 version 1.2, 2015/07/18 03:41:37
Line 16 
Line 16 
  */   */
 #include <sys/types.h>  #include <sys/types.h>
   
   #include <signal.h>
 #include <stddef.h>  #include <stddef.h>
 #include <stdio.h>  #include <stdio.h>
 #include <stdlib.h>  #include <stdlib.h>
Line 36  struct tag_entry {
Line 37  struct tag_entry {
         char     s[];          char     s[];
 };  };
   
   static  void     tag_signal(int);
 static  void    *tag_alloc(size_t, void *);  static  void    *tag_alloc(size_t, void *);
 static  void     tag_free(void *, void *);  static  void     tag_free(void *, void *);
 static  void    *tag_calloc(size_t, size_t, void *);  static  void    *tag_calloc(size_t, size_t, void *);
Line 56  tag_init(void)
Line 58  tag_init(void)
         struct ohash_info        tag_info;          struct ohash_info        tag_info;
   
         tag_fn = mandoc_strdup("/tmp/man.XXXXXXXXXX");          tag_fn = mandoc_strdup("/tmp/man.XXXXXXXXXX");
           signal(SIGHUP, tag_signal);
           signal(SIGINT, tag_signal);
           signal(SIGTERM, tag_signal);
         if ((tag_fd = mkstemp(tag_fn)) == -1) {          if ((tag_fd = mkstemp(tag_fn)) == -1) {
                 free(tag_fn);                  free(tag_fn);
                 tag_fn = NULL;                  tag_fn = NULL;
Line 156  tag_unlink(void)
Line 161  tag_unlink(void)
   
         if (tag_fn != NULL)          if (tag_fn != NULL)
                 unlink(tag_fn);                  unlink(tag_fn);
   }
   
   static void
   tag_signal(int signum)
   {
   
           tag_unlink();
           signal(signum, SIG_DFL);
           kill(getpid(), signum);
           /* NOTREACHED */
           _exit(1);
 }  }
   
 /*  /*

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

CVSweb