Пример #1
0
int main (int argc, char const * argv []) 

{ 
	static char const * optv [] = 
	{ 
		"cdst", 
		PUTOPTV_S_FUNNEL, 
		"enumerate html/xhtml/xml document fragments", 
		"c\tprint CSS stylesheet on stdout", 
		"d\tprint document as text", 
		"s\tprint document as stream", 
		"t\tprint document as tree", 
		(char const *)(0)
	}; 
	struct node node; 
	void (* xmldump) (struct node const *) = xmlindent; 
	signed c; 
	while (~ (c = getoptv (argc, argv, optv))) 
	{ 
		switch (c) 
		{ 
		case 'c': 
			xmldump = csstree; 
			break; 
		case 'd': 
			xmldump = xmlindent; 
			break; 
		case 's': 
			xmldump = xmlstream; 
			break; 
		case 't': 
			xmldump = xmltree; 
			break; 
		default: 
			break; 
		} 
	} 
	argc -= optind; 
	argv += optind; 
	if (!argc) 
	{ 
		error (1, ENOTSUP, "No filenames given!"); 
	} 
	while ((argc) && (* argv)) 
	{ 
		xmlread (& node, * argv); 
		xmlscan (& node); 
		reorder (& node); 
		xmldump (& node); 
		xmlfree (& node); 
		argc--; 
		argv++; 
	} 
	return (0); 
} 
Пример #2
0
int main (int argc, char const * argv [])

{
	static char const * optv [] =
	{
		"f:qv",
		"pib-file [pib-file] [...]",
		"Qualcomm Atheros PLC Parameter File Editor",
		"f f\txmlfile is (f)",
		"q\tquiet",
		"v\tverbose",
		(char const *) (0)
	};
	struct node * node = (struct node *)(0);
	flag_t flags = (flag_t)(0);
	signed c;
	optind = 1;
	while ((c = getoptv (argc, argv, optv)) != -1)
	{
		switch (c)
		{
		case 'f':
			node = xmlopen (optarg);
			break;
		case 'm':
			_setbits (flags, PIB_MANIFEST);
			break;
		case 'q':
			_setbits (flags, PIB_SILENCE);
			break;
		case 'v':
			_setbits (flags, PIB_VERBOSE);
			break;
		default:
			break;
		}
	}
	argc -= optind;
	argv += optind;
	while ((argc) && (* argv))
	{
		function (* argv, node);
		argc--;
		argv++;
	}
	if (_anyset (flags, PIB_VERBOSE))
	{
		xmltree (node);
	}
	xmlfree (node);
	return (0);
}