1f499134dSBaptiste Daroussin /*-
2f499134dSBaptiste Daroussin  * SPDX-License-Identifier: CC0-1.0
3f499134dSBaptiste Daroussin  *
4f499134dSBaptiste Daroussin  * Written in 2021 by Alfonso Sabato Siciliano.
5f499134dSBaptiste Daroussin  * To the extent possible under law, the author has dedicated all copyright
6f499134dSBaptiste Daroussin  * and related and neighboring rights to this software to the public domain
7f499134dSBaptiste Daroussin  * worldwide. This software is distributed without any warranty, see:
8f499134dSBaptiste Daroussin  *   <http://creativecommons.org/publicdomain/zero/1.0/>.
9f499134dSBaptiste Daroussin  */
10f499134dSBaptiste Daroussin 
11bce40c02SAlfonso S. Siciliano #include <bsddialog.h>
12f499134dSBaptiste Daroussin #include <stdio.h>
13f499134dSBaptiste Daroussin #include <time.h>
14f499134dSBaptiste Daroussin 
main()15f499134dSBaptiste Daroussin int main()
16f499134dSBaptiste Daroussin {
17f499134dSBaptiste Daroussin 	int output;
18f499134dSBaptiste Daroussin 	unsigned int yy, mm, dd;
19f499134dSBaptiste Daroussin 	struct bsddialog_conf conf;
20f499134dSBaptiste Daroussin 	time_t cal;
21f499134dSBaptiste Daroussin 	struct tm *localtm;
22f499134dSBaptiste Daroussin 
23f499134dSBaptiste Daroussin 	time(&cal);
24f499134dSBaptiste Daroussin 	localtm = localtime(&cal);
25f499134dSBaptiste Daroussin 	yy = localtm->tm_year + 1900;
26f499134dSBaptiste Daroussin 	mm = localtm->tm_mon + 1;
27f499134dSBaptiste Daroussin 	dd = localtm->tm_mday;
28f499134dSBaptiste Daroussin 
29263660c0SAlfonso Siciliano 	if (bsddialog_init() == BSDDIALOG_ERROR) {
30263660c0SAlfonso Siciliano 		printf("Error: %s\n", bsddialog_geterror());
31263660c0SAlfonso Siciliano 		return (1);
32263660c0SAlfonso Siciliano 	}
33f499134dSBaptiste Daroussin 	bsddialog_initconf(&conf);
34f499134dSBaptiste Daroussin 	conf.title = "datebox";
35b319d934SAlfonso S. Siciliano 	output = bsddialog_datebox(&conf, "Example", 9, 35, &yy, &mm, &dd);
36f499134dSBaptiste Daroussin 	bsddialog_end();
37*61ba55bcSBaptiste Daroussin 	if (output == BSDDIALOG_ERROR) {
38*61ba55bcSBaptiste Daroussin 		printf("Error: %s\n", bsddialog_geterror());
39*61ba55bcSBaptiste Daroussin 		return (1);
40f499134dSBaptiste Daroussin 	}
41*61ba55bcSBaptiste Daroussin 	printf("Date: %u/%u/%u\n", yy, mm, dd);
42f499134dSBaptiste Daroussin 
43*61ba55bcSBaptiste Daroussin 	return (0);
44f499134dSBaptiste Daroussin }