xref: /freebsd/contrib/mandoc/test-getsubopt.c (revision 7648bc9fee8dec6cb3c4941e0165a930fbe8dcb0)
1*7295610fSBaptiste Daroussin /*	$Id: test-getsubopt.c,v 1.6 2018/08/15 14:37:41 schwarze Exp $	*/
261d06d6bSBaptiste Daroussin /*
361d06d6bSBaptiste Daroussin  * Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
461d06d6bSBaptiste Daroussin  *
561d06d6bSBaptiste Daroussin  * Permission to use, copy, modify, and distribute this software for any
661d06d6bSBaptiste Daroussin  * purpose with or without fee is hereby granted, provided that the above
761d06d6bSBaptiste Daroussin  * copyright notice and this permission notice appear in all copies.
861d06d6bSBaptiste Daroussin  *
961d06d6bSBaptiste Daroussin  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1061d06d6bSBaptiste Daroussin  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1161d06d6bSBaptiste Daroussin  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1261d06d6bSBaptiste Daroussin  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1361d06d6bSBaptiste Daroussin  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1461d06d6bSBaptiste Daroussin  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1561d06d6bSBaptiste Daroussin  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1661d06d6bSBaptiste Daroussin  */
1761d06d6bSBaptiste Daroussin 
1861d06d6bSBaptiste Daroussin #include <stdlib.h>
1961d06d6bSBaptiste Daroussin 
20*7295610fSBaptiste Daroussin /*
21*7295610fSBaptiste Daroussin  * NetBSD declared this function in the wrong header before August 2018.
22*7295610fSBaptiste Daroussin  * No harm is done by allowing that, too:
23*7295610fSBaptiste Daroussin  * The only file using it, main.c, also includes unistd.h, anyway.
24*7295610fSBaptiste Daroussin  */
25*7295610fSBaptiste Daroussin #include <unistd.h>
26*7295610fSBaptiste Daroussin 
2761d06d6bSBaptiste Daroussin int
main(void)2861d06d6bSBaptiste Daroussin main(void)
2961d06d6bSBaptiste Daroussin {
3061d06d6bSBaptiste Daroussin 	char buf[] = "k=v";
3161d06d6bSBaptiste Daroussin 	char *options = buf;
3261d06d6bSBaptiste Daroussin 	char token0[] = "k";
3361d06d6bSBaptiste Daroussin 	char *const tokens[] = { token0, NULL };
3461d06d6bSBaptiste Daroussin 	char *value = NULL;
3561d06d6bSBaptiste Daroussin 	return ! (getsubopt(&options, tokens, &value) == 0
3661d06d6bSBaptiste Daroussin 	    && value == buf+2 && options == buf+3);
3761d06d6bSBaptiste Daroussin }
38