diff options
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 90 |
1 files changed, 69 insertions, 21 deletions
@@ -29,38 +29,86 @@ #include "nimisewi.h" -int -main(int argc, char *argv[]) +#define NIMISEWI_MAMA 0x01 +#define NIMISEWI_IKE 0x02 + +static void +pana_sona_pali(void) { - char *ns; + printf("nimisewi [-v|-i]\n"); + exit(EXIT_SUCCESS); +} +static void +pana_sona_mama(void) +{ + printf("%s\n", PACKAGE_STRING); + printf("%s\n", PACKAGE_DESCRIPTION); + printf("compiled on %s %s using %s (%ld-bit)\n", + __DATE__, __TIME__, COMPILER_NAME, sizeof(void*)*8); #ifdef HAVE_PLEDGE - if (pledge("stdio", NULL) == -1) { - err(EXIT_FAILURE, "pledge"); - } -#endif - if (argc == 2) { - if (!strcmp(argv[1], "--version") || !strcmp(argv[1], "-v")) { - printf("%s\n", PACKAGE_STRING); - printf("%s\n", PACKAGE_DESCRIPTION); - printf("compiled on %s %s using %s (%lu-bit)\n", - __DATE__, __TIME__, COMPILER_NAME, sizeof(void*)*8); -#ifdef HAVE_PLEDGE - printf("HAVE_PLEDGE\n"); + printf("HAVE_PLEDGE\n"); #endif #ifdef HAVE_STRLCAT - printf("HAVE_STRLCAT\n"); + printf("HAVE_STRLCAT\n"); #endif #ifdef HAVE_ARC4RANDOM_UNIFORM - printf("HAVE_ARC4RANDOM_UNIFORM\n"); + printf("HAVE_ARC4RANDOM_UNIFORM\n"); #endif - return EXIT_SUCCESS; - } - } + /*return EXIT_SUCCESS;*/ +} - ns = nimi_sewi(); +static void +nimisewi_pona(void) +{ + char *ns; + ns = nimi_sewi(6); printf("%s\n", ns); weka_e_nimi_sewi(ns); +} + +static void +nimisewi_pi_pilin_ike(void) +{ + char *ns; + ns = nimi_sewi(3); + printf("%s mute li lon\n" + "tan pi %s sin li seme?\n", ns, ns); + weka_e_nimi_sewi(ns); +} + +int +main(int argc, char *argv[]) +{ + int ch, f; +#ifdef HAVE_PLEDGE + if (pledge("stdio", NULL) == -1) { + err(EXIT_FAILURE, "pledge"); + } +#endif + f = 0; + while ((ch = getopt(argc, argv, "vi")) != -1) { + switch (ch) { + case 'v': + f |= NIMISEWI_MAMA; + break; + case 'i': + f |= NIMISEWI_IKE; + break; + default: + pana_sona_pali(); + } + } + argc -= optind; + argv += optind; + + if (f & NIMISEWI_MAMA) + pana_sona_mama(); + + if (f & NIMISEWI_IKE) + nimisewi_pi_pilin_ike(); + else + nimisewi_pona(); return EXIT_SUCCESS; } |
