int main(gint argc, gchar * argv[]) { GError *error = NULL; GOptionContext *context; gtk_init(&argc, &argv); /* Init i18n messages */ setlocale(LC_ALL, ""); bindtextdomain(QUOTE_ME(PROJECT_NAME), QUOTE_ME(DATA_DIR) "/locale"); textdomain(QUOTE_ME(PROJECT_NAME)); determine_locale(); context = g_option_context_new("- ibus chewing engine component"); g_option_context_add_main_entries(context, entries, QUOTE_ME(PROJECT_NAME)); if (!g_option_context_parse(context, &argc, &argv, &error)) { g_print("Option parsing failed: %s\n", error->message); exit(-1); } g_option_context_free(context); mkdg_log_set_level(ibus_chewing_verbose); if (showFlags) { printf("PROJECT_NAME=" QUOTE_ME(PROJECT_NAME) "\n"); printf("DATA_DIR=" QUOTE_ME(DATA_DIR) "\n"); printf("CHEWING_DATADIR_REAL=" QUOTE_ME(CHEWING_DATADIR_REAL) "\n"); } else { start_component(); } return 0; }
int main(int argc, char **argv) { int opt; if ((uid = getuid()) == 0) { fprintf(stderr, "don't run %s as root, use:\n echo", argv[0]); for (optind = 0; optind < argc; optind++) { fprintf(stderr, " %s", argv[optind]); } fprintf(stderr, " | nice -5 su -m man\n"); exit(1); } while ((opt = getopt(argc, argv, "vnfLrh")) != -1) { switch (opt) { case 'f': force++; break; case 'L': determine_locale(); break; case 'n': pretend++; break; case 'r': rm_junk++; break; case 'v': verbose++; break; default: usage(); /* NOTREACHED */ } } if ((starting_dir = open(".", 0)) < 0) { err(1, "."); } umask(022); signal(SIGINT, trap_signal); signal(SIGHUP, trap_signal); signal(SIGQUIT, trap_signal); signal(SIGTERM, trap_signal); if ((machine = getenv("MACHINE")) == NULL) { static struct utsname utsname; if (uname(&utsname) == -1) err(1, "uname"); machine = utsname.machine; } if ((machine_arch = getenv("MACHINE_ARCH")) == NULL) machine_arch = MACHINE_ARCH; if (optind == argc) { const char *manpath = getenv("MANPATH"); if (manpath == NULL) manpath = DEFAULT_MANPATH; process_argument(manpath); } else { while (optind < argc) process_argument(argv[optind++]); } exit(exit_code); }