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 }