1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
/*
netrik -- The ANTRIK Internet Viewer
Copyright (C) Olaf D. Buddenhagen AKA antrik, et al (see AUTHORS)
Published under the GNU GPL; see LICENSE for details.
*/
/*
* cfg.c -- read configuration (command line / config file)
*
* (C) 2001 Patrice Neff
* 2001, 2002, 2003 antrik
*/
#include <stdio.h>
#include <string.h>
#include <getopt.h>
#include "cmdline.h"
/* read command line and write values into the struct */
int config_cmdln(argc, argv)
int argc;
char *argv[];
{
/* available command line options */
const struct option longopts[]={
{ "force-colors", 0, &cfg.force_colors, 1 },
{ "no-force-colors", 0, &cfg.force_colors, 0 },
{ "term-width", 0, &cfg.term_width, 1 },
{ "no-term-width", 0, &cfg.term_width, 0 },
{ "fussy-html", 0, (int *)&cfg.parser, FUSSY_HTML },
{ "clean-html", 0, (int *)&cfg.parser, CLEAN_HTML },
{ "valid-html", 0, (int *)&cfg.parser, VALID_HTML },
{ "broken-html", 0, (int *)&cfg.parser, BROKEN_HTML },
{ "ignore-broken", 0, (int *)&cfg.parser, IGNORE_BROKEN },
{ "debug", 0, &cfg.debug, 1 },
{ "no-debug", 0, &cfg.debug, 0 },
{ "warn-unknown", 0, &cfg.warn_unknown, 1 },
{ "no-warn-unknown", 0, &cfg.warn_unknown, 0 },
{ "dump", 0, &cfg.dump, 1 },
{ "no-dump", 0, &cfg.dump, 0 },
{ "builtin-http", 0, &cfg.wget, 0 },
{ "no-builtin-http", 0, &cfg.wget, 1 },
{ "proxy", 0, &cfg.proxy, 1 },
{ "no-proxy", 0, &cfg.proxy, 0 },
{ "anchor-offset", 0, &cfg.anchor_offset, 5 },
{ "no-anchor-offset", 0, &cfg.anchor_offset, 0 },
{ "cursor-keys", 0, &cfg.cursor_keys, 1 },
{ "no-cursor-keys", 0, &cfg.cursor_keys, 0 },
{ "xterm", 0, &cfg.inverse_bold, 1 },
{ "console", 0, &cfg.inverse_bold, 0 },
{ "bright-background", 0, &cfg.bright_background, 1 },
{ "dark-background", 0, &cfg.bright_background, 0 },
{ "bw", 0, &cfg.color, 0 },
{ "color", 0, &cfg.color, 1 },
/* this element ends array, don't remove */
{ 0, 0, 0, 0 }
};
int c=0; /* return value */
int option_index=0; /* set option */
while(1) {
c=getopt_long(argc, argv, "", longopts, &option_index);
if(c==-1) /* end of options */
break;
}
return(optind);
}
|