version 1.2, 2017/02/05 22:51:11 |
version 1.8, 2018/12/14 01:18:26 |
|
|
*/ |
*/ |
#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> |
|
|
|
|
#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" |
|
|
|
|
|
|
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); |
} |
} |