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