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 }