xref: /freebsd-src/contrib/bsddialog/examples_library/calendar.c (revision 61ba55bcf70f2340f9c943c9571113b3fd8eda69)
184823cc7SAlfonso S. Siciliano /*-
284823cc7SAlfonso S. Siciliano  * SPDX-License-Identifier: CC0-1.0
384823cc7SAlfonso S. Siciliano  *
484823cc7SAlfonso S. Siciliano  * Written in 2022 by Alfonso Sabato Siciliano.
584823cc7SAlfonso S. Siciliano  * To the extent possible under law, the author has dedicated all copyright
684823cc7SAlfonso S. Siciliano  * and related and neighboring rights to this software to the public domain
784823cc7SAlfonso S. Siciliano  * worldwide. This software is distributed without any warranty, see:
884823cc7SAlfonso S. Siciliano  *   <http://creativecommons.org/publicdomain/zero/1.0/>.
984823cc7SAlfonso S. Siciliano  */
1084823cc7SAlfonso S. Siciliano 
1184823cc7SAlfonso S. Siciliano #include <bsddialog.h>
1284823cc7SAlfonso S. Siciliano #include <stdio.h>
1384823cc7SAlfonso S. Siciliano #include <time.h>
1484823cc7SAlfonso S. Siciliano 
main()1584823cc7SAlfonso S. Siciliano int main()
1684823cc7SAlfonso S. Siciliano {
1784823cc7SAlfonso S. Siciliano 	int output;
1884823cc7SAlfonso S. Siciliano 	unsigned int yy, mm, dd;
1984823cc7SAlfonso S. Siciliano 	struct bsddialog_conf conf;
2084823cc7SAlfonso S. Siciliano 	time_t cal;
2184823cc7SAlfonso S. Siciliano 	struct tm *localtm;
2284823cc7SAlfonso S. Siciliano 
2384823cc7SAlfonso S. Siciliano 	time(&cal);
2484823cc7SAlfonso S. Siciliano 	localtm = localtime(&cal);
2584823cc7SAlfonso S. Siciliano 	yy = localtm->tm_year + 1900;
2684823cc7SAlfonso S. Siciliano 	mm = localtm->tm_mon + 1;
2784823cc7SAlfonso S. Siciliano 	dd = localtm->tm_mday;
2884823cc7SAlfonso S. Siciliano 
2984823cc7SAlfonso S. Siciliano 	if (bsddialog_init() == BSDDIALOG_ERROR) {
3084823cc7SAlfonso S. Siciliano 		printf("Error: %s\n", bsddialog_geterror());
3184823cc7SAlfonso S. Siciliano 		return (1);
3284823cc7SAlfonso S. Siciliano 	}
3384823cc7SAlfonso S. Siciliano 	bsddialog_initconf(&conf);
3484823cc7SAlfonso S. Siciliano 	conf.title = "calendar";
3584823cc7SAlfonso S. Siciliano 	output = bsddialog_calendar(&conf, "Example", 18, 40, &yy, &mm, &dd);
3684823cc7SAlfonso S. Siciliano 	bsddialog_end();
37*61ba55bcSBaptiste Daroussin 	if (output == BSDDIALOG_ERROR) {
38*61ba55bcSBaptiste Daroussin 		printf("Error: %s\n", bsddialog_geterror());
39*61ba55bcSBaptiste Daroussin 		return (1);
4084823cc7SAlfonso S. Siciliano 	}
4184823cc7SAlfonso S. Siciliano 
42*61ba55bcSBaptiste Daroussin 	printf("Date: %u/%u/%u\n", yy, mm, dd);
43*61ba55bcSBaptiste Daroussin 
44*61ba55bcSBaptiste Daroussin 	return (0);
4584823cc7SAlfonso S. Siciliano }