static void parse_lsreipl_options(int argc, char *argv[]) { int opt, idx; const struct option long_opts[] = { { "help", no_argument, NULL, 'h' }, { "ipl", no_argument, NULL, 'i' }, { "version", no_argument, NULL, 'v' }, { NULL, 0, NULL, 0 } }; while ((opt = getopt_long(argc, argv, "hvi", long_opts, &idx)) != -1) { switch (opt) { case 'i': l.ipl_set = 1; break; case 'h': print_usage_lsreipl_exit(); case 'v': print_version_exit(); default: print_help_hint_exit(); } } /* don't run with too many arguments */ if (optind != argc) ERR_EXIT("Invalid positional parameter \"%s\" specified", argv[optind]); }
static void parse_chshut_options(int argc, char *argv[]) { int opt, idx; const struct option long_opts[] = { { "help", no_argument, NULL, 'h' }, { "version", no_argument, NULL, 'v' }, { NULL, 0, NULL, 0 } }; while ((opt = getopt_long(argc, argv, "hv", long_opts, &idx)) != -1) { switch (opt) { case 'h': print_usage_chshut_exit(); case 'v': print_version_exit(); default: print_help_hint_exit(); } } if (!is_root()) ERR_EXIT("You must be root to perform this operation"); }
int main(int argc, char *argv[]) { /* Initialise global variables */ GTKD_FUNCTION_SIGNALS_RESET; lastradiowidget = NULL; accel_groups = NULL; widget_hide_list = widget_show_list = NULL; window_id = 0; setlocale(LC_ALL, ""); /* * */ g_thread_init (NULL); gdk_threads_init(); /* * Processing command line arguments. */ gtkdialog_init(argc, argv); if (option_version) print_version_exit(EXIT_SUCCESS); if (option_geometry != NULL) get_geometry(option_geometry); /* Thunor: I've added these to control/override the widget * packing expand and fill states at the project level */ project_space_expand = -1; if (option_space_expand) get_space_value(option_space_expand, &project_space_expand); project_space_fill = -1; if (option_space_fill) get_space_value(option_space_fill, &project_space_fill); if (option_input_stdin) { get_program_from_stdin(); goto gtkdialog_initialized; } /* * If we have an event driven program we recall the gtkdialog with * a source file included into the environment. */ #ifdef DEBUG fprintf(stderr, "%s(): argv[0]='%s'\n", __func__, argv[0]); #endif if (option_event_file != NULL) { gchar *command; command = g_strdup_printf( /* Debian 01_bashism patch: use dot rather than source. "source %s; " */ ". %s; " "%s %s%s%s%s%s%s -i %s", option_event_file, argv[0], option_debug ? "-d " : "", option_no_warning ? "-w" : "", option_centering ? "-c " : "", option_print_ir ? "--print-ir " : "", option_input_variable ? "--program=" : "", option_input_variable ? option_input_variable : "", option_event_file); exit(system(command)); } if (option_input_file != NULL) { get_program_from_file(option_input_file); goto gtkdialog_initialized; } if (option_input_variable != NULL && option_glade_file == NULL) { get_program_from_variable(option_input_variable); goto gtkdialog_initialized; } #if HAVE_GLADE_LIB if (option_glade_file == NULL) get_program_from_variable("MAIN_DIALOG"); #else get_program_from_variable("MAIN_DIALOG"); #endif gtkdialog_initialized: gtk_init(&argc, &argv); #if HAVE_GLADE_LIB if (option_glade_file != NULL) { run_program_by_glade(option_glade_file, option_input_variable); exit(EXIT_SUCCESS); } #endif gtkdialog_parse(); }