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

Diff for /mandoc/mandocd.c between version 1.2 and 1.8

version 1.2, 2017/02/05 22:51:11 version 1.8, 2018/12/14 01:18:26
Line 17 
Line 17 
  */   */
 #include "config.h"  #include "config.h"
   
   #if HAVE_CMSG_XPG42
   #define _XPG4_2
   #endif
   
 #include <sys/types.h>  #include <sys/types.h>
 #include <sys/socket.h>  #include <sys/socket.h>
   
Line 34 
Line 38 
 #include "roff.h"  #include "roff.h"
 #include "mdoc.h"  #include "mdoc.h"
 #include "man.h"  #include "man.h"
   #include "mandoc_parse.h"
 #include "main.h"  #include "main.h"
 #include "manconf.h"  #include "manconf.h"
   
Line 45  enum outt {
Line 50  enum outt {
   
 static  void      process(struct mparse *, enum outt, void *);  static  void      process(struct mparse *, enum outt, void *);
 static  int       read_fds(int, int *);  static  int       read_fds(int, int *);
 static  void      usage(void) __attribute__((noreturn));  static  void      usage(void) __attribute__((__noreturn__));
   
   
 #define NUM_FDS 3  #define NUM_FDS 3
Line 114  main(int argc, char *argv[])
Line 119  main(int argc, char *argv[])
         struct manoutput         options;          struct manoutput         options;
         struct mparse           *parser;          struct mparse           *parser;
         void                    *formatter;          void                    *formatter;
           const char              *defos;
         const char              *errstr;          const char              *errstr;
         int                      clientfd;          int                      clientfd;
         int                      old_stdin;          int                      old_stdin;
Line 123  main(int argc, char *argv[])
Line 129  main(int argc, char *argv[])
         int                      state, opt;          int                      state, opt;
         enum outt                outtype;          enum outt                outtype;
   
           defos = NULL;
         outtype = OUTT_ASCII;          outtype = OUTT_ASCII;
         while ((opt = getopt(argc, argv, "T:")) != -1) {          while ((opt = getopt(argc, argv, "I:T:")) != -1) {
                 switch (opt) {                  switch (opt) {
                   case 'I':
                           if (strncmp(optarg, "os=", 3) == 0)
                                   defos = optarg + 3;
                           else {
                                   warnx("-I %s: Bad argument", optarg);
                                   usage();
                           }
                           break;
                 case 'T':                  case 'T':
                         if (strcmp(optarg, "ascii") == 0)                          if (strcmp(optarg, "ascii") == 0)
                                 outtype = OUTT_ASCII;                                  outtype = OUTT_ASCII;
Line 157  main(int argc, char *argv[])
Line 172  main(int argc, char *argv[])
   
         mchars_alloc();          mchars_alloc();
         parser = mparse_alloc(MPARSE_SO | MPARSE_UTF8 | MPARSE_LATIN1,          parser = mparse_alloc(MPARSE_SO | MPARSE_UTF8 | MPARSE_LATIN1,
             MANDOCLEVEL_BADARG, NULL, NULL);              MANDOC_OS_OTHER, defos);
   
         memset(&options, 0, sizeof(options));          memset(&options, 0, sizeof(options));
         switch (outtype) {          switch (outtype) {
Line 266  process(struct mparse *parser, enum outt outtype, void
Line 281  process(struct mparse *parser, enum outt outtype, void
 void  void
 usage(void)  usage(void)
 {  {
         fprintf(stderr, "usage: mandocd [-T output] socket_fd\n");          fprintf(stderr, "usage: mandocd [-I os=name] [-T output] socket_fd\n");
         exit(1);          exit(1);
 }  }

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

CVSweb