void do_config(char *file) { /* The commandline */ extern int __crt0_argc; extern char **__crt0_argv; /* Our token list */ int i, argc; char *argv[0x100]; set_option_defaults(); for(i = 0; i < 0x100; i++) argv[i] = NULL; /* Check configuration file */ if(file) parse_file(file, &argc, argv); /* Check extracted tokens */ parse_args(argc, argv); /* Free token list */ for(i = 0; i < argc; i++) { if(argv[argc]) free (argv[argc]); } /* Check command line */ parse_args(__crt0_argc, __crt0_argv); }
void do_config(char *file) { extern int __crt0_argc; extern char **__crt0_argv; /* Our token list */ int i, argc; char *argv[TOKEN_LIST_SIZE]; set_option_defaults(); for(i = 0; i < TOKEN_LIST_SIZE; i += 1) argv[i] = NULL; /* Check configuration file */ if(file) parse_file(file, &argc, argv); /* Check extracted tokens */ parse_args(argc, argv); /* Free token list */ for(i = 0; i < argc; i += 1) if(argv[argc]) free (argv[argc]); /* Check command line */ parse_args(__crt0_argc, __crt0_argv); }
int main (int argc, char **argv) { int end_of_leading_options = 0; /* First arg after any -H/-L etc. */ struct predicate *eval_tree; if (argv[0]) set_program_name (argv[0]); else set_program_name ("find"); record_initial_cwd (); state.already_issued_stat_error_msg = false; state.exit_status = 0; state.execdirs_outstanding = false; state.cwd_dir_fd = AT_FDCWD; if (fd_leak_check_is_enabled ()) { remember_non_cloexec_fds (); } state.shared_files = sharefile_init ("w"); if (NULL == state.shared_files) { error (EXIT_FAILURE, errno, _("Failed initialise shared-file hash table")); } /* Set the option defaults before we do the locale initialisation as * check_nofollow() needs to be executed in the POSIX locale. */ set_option_defaults (&options); #ifdef HAVE_SETLOCALE setlocale (LC_ALL, ""); #endif bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); if (atexit (close_stdout)) { error (EXIT_FAILURE, errno, _("The atexit library function failed")); } /* Check for -P, -H or -L options. Also -D and -O, which are * both GNU extensions. */ end_of_leading_options = process_leading_options (argc, argv); if (options.debug_options & DebugStat) options.xstat = debug_stat; #ifdef DEBUG fprintf (stderr, "cur_day_start = %s", ctime (&options.cur_day_start)); #endif /* DEBUG */ /* We are now processing the part of the "find" command line * after the -H/-L options (if any). */ eval_tree = build_expression_tree (argc, argv, end_of_leading_options); /* safely_chdir() needs to check that it has ended up in the right place. * To avoid bailing out when something gets automounted, it checks if * the target directory appears to have had a directory mounted on it as * we chdir()ed. The problem with this is that in order to notice that * a file system was mounted, we would need to lstat() all the mount points. * That strategy loses if our machine is a client of a dead NFS server. * * Hence if safely_chdir() and wd_sanity_check() can manage without needing * to know the mounted device list, we do that. */ if (!options.open_nofollow_available) { #ifdef STAT_MOUNTPOINTS init_mounted_dev_list (); #endif } /* process_all_startpoints processes the starting points named on * the command line. A false return value from it means that we * failed to restore the original context. That means it would not * be safe to call cleanup() since we might complete an execdir in * the wrong directory for example. */ if (process_all_startpoints (argc-end_of_leading_options, argv+end_of_leading_options)) { /* If "-exec ... {} +" has been used, there may be some * partially-full command lines which have been built, * but which are not yet complete. Execute those now. */ show_success_rates (eval_tree); cleanup (); } return state.exit_status; }
/* CAUTION: this is the entry point for the oldfind executable, which is not the binary that * will actually get installed. See ftsfind.c. */ int main (int argc, char **argv) { int i; int end_of_leading_options = 0; /* First arg after any -H/-L etc. */ struct predicate *eval_tree; if (argv[0]) set_program_name (argv[0]); else set_program_name ("find"); state.exit_status = 0; if (fd_leak_check_is_enabled ()) { remember_non_cloexec_fds (); } record_initial_cwd (); state.already_issued_stat_error_msg = false; state.shared_files = sharefile_init ("w"); if (NULL == state.shared_files) { error (EXIT_FAILURE, errno, _("Failed to initialize shared-file hash table")); } /* Set the option defaults before we do the locale * initialisation as check_nofollow () needs to be executed in the * POSIX locale. */ set_option_defaults (&options); #ifdef HAVE_SETLOCALE setlocale (LC_ALL, ""); #endif bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); if (atexit (close_stdin)) { error (EXIT_FAILURE, errno, _("The atexit library function failed")); } /* Check for -P, -H or -L options. */ end_of_leading_options = process_leading_options (argc, argv); if (options.debug_options & DebugStat) options.xstat = debug_stat; #ifdef DEBUG fprintf (stderr, "cur_day_start = %s", ctime (&options.cur_day_start)); #endif /* DEBUG */ /* state.cwd_dir_fd has to be initialized before we call build_expression_tree () * because command-line parsing may lead us to stat some files. */ state.cwd_dir_fd = AT_FDCWD; /* We are now processing the part of the "find" command line * after the -H/-L options (if any). */ eval_tree = build_expression_tree (argc, argv, end_of_leading_options); /* safely_chdir () needs to check that it has ended up in the right place. * To avoid bailing out when something gets automounted, it checks if * the target directory appears to have had a directory mounted on it as * we chdir ()ed. The problem with this is that in order to notice that * a file system was mounted, we would need to lstat () all the mount points. * That strategy loses if our machine is a client of a dead NFS server. * * Hence if safely_chdir () and wd_sanity_check () can manage without needing * to know the mounted device list, we do that. */ if (!options.open_nofollow_available) { #ifdef STAT_MOUNTPOINTS init_mounted_dev_list (0); #endif } set_stat_placeholders (&starting_stat_buf); if ((*options.xstat) (".", &starting_stat_buf) != 0) error (EXIT_FAILURE, errno, _("cannot stat current directory")); /* If no paths are given, default to ".". */ for (i = end_of_leading_options; i < argc && !looks_like_expression (argv[i], true); i++) { process_top_path (argv[i], 0, starting_stat_buf.st_ino); } /* If there were no path arguments, default to ".". */ if (i == end_of_leading_options) { /* * We use a temporary variable here because some actions modify * the path temporarily. Hence if we use a string constant, * we get a coredump. The best example of this is if we say * "find -printf %H" (note, not "find . -printf %H"). */ char defaultpath[2] = "."; process_top_path (defaultpath, 0, starting_stat_buf.st_ino); } /* If "-exec ... {} +" has been used, there may be some * partially-full command lines which have been built, * but which are not yet complete. Execute those now. */ show_success_rates (eval_tree); cleanup (); return state.exit_status; }
int main (int argc, char *argv[]) { #ifdef HW_RVL /* initialize DVD device */ DI_Init(); #endif u16 usBetweenFrames; long long now, prev; /* Initialize OGC subsystems */ ogc_video__init(); ogc_input__init(); ogc_audio__init(); #ifdef HW_DOL /* Initialize GC DVD interface */ DVD_Init (); dvd_drive_detect(); #endif #ifdef HW_RVL /* Power Button callback */ SYS_SetPowerCallback(Power_Off); #endif /* Initialize FAT Interface */ if (fatInitDefault() == true) { fat_enabled = 1; } /* Default Config */ legal(); set_option_defaults (); config_load(); #ifdef HW_RVL /* Load SMB Settings */ loadSettings(); #endif /* Restore Recent Files list */ set_history_defaults(); history_load(); /* Initialize Virtual Machine */ init_machine (); /* Show Menu */ MainMenu(); ConfigRequested = 0; /* Initialize Frame timings */ frameticker = 0; usBetweenFrames = sms.display ? 20000 : 16666; prev = gettime(); /* Emulation Loop */ while (1) { /* update inputs */ ogc_input__update(); /* Frame synchronization */ if (gc_pal != sms.display) { /* use timers */ now = gettime(); if (diff_usec(prev, now) > usBetweenFrames) { /* Frame skipping */ prev = now; system_frame(1); } else { /* Delay */ while (diff_usec(prev, now) < usBetweenFrames) now = gettime(); /* Render Frame */ prev = now; system_frame(0); } } else { /* use VSync */ if (frameticker > 1) { /* Frame skipping */ frameticker--; system_frame (1); } else { /* Delay */ while (!frameticker) usleep(10); system_frame (0); } frameticker--; } /* update video & audio */ ogc_video__update(); ogc_audio__update(); /* Check for Menu request */ if (ConfigRequested) { /* reset AUDIO */ ogc_audio__reset(); /* go to menu */ MainMenu (); ConfigRequested = 0; ogc_video__reset(); /* reset frame timings */ frameticker = 0; usBetweenFrames = sms.display ? 20000 : 16666; prev = gettime(); } } return 0; }
int main(int argc, char *argv[]) { string cfg_file; const char *parsed_file = NULL; const char *source_file = NULL; const char *output_file = NULL; const char *source_list = NULL; log_mask_t mask; int idx; const char *p_arg; /* If ran without options... check keyword sort and show the usage info */ if (argc == 1) { keywords_are_sorted(); usage_exit(NULL, argv[0], EXIT_SUCCESS); } /* Build options map */ register_options(); Args arg(argc, argv); if (arg.Present("--version") || arg.Present("-v")) { version_exit(); } if (arg.Present("--help") || arg.Present("-h") || arg.Present("--usage") || arg.Present("-?")) { usage_exit(NULL, argv[0], EXIT_SUCCESS); } if (arg.Present("--show-config")) { print_options(stdout, true); return(0); } #ifdef WIN32 /* tell windoze not to change what I write to stdout */ (void)_setmode(_fileno(stdout), _O_BINARY); #endif /* Init logging */ log_init(stderr); if (arg.Present("-q")) { logmask_from_string("", mask); log_set_mask(mask); } if (((p_arg = arg.Param("-L")) != NULL) || ((p_arg = arg.Param("--log")) != NULL)) { logmask_from_string(p_arg, mask); log_set_mask(mask); } cpd.frag = arg.Present("--frag"); if ((p_arg = arg.Param("--decode")) != NULL) { log_pcf_flags(LSYS, strtoul(p_arg, NULL, 16)); exit(EXIT_SUCCESS); } /* Get the config file name */ if (((p_arg = arg.Param("--config")) != NULL) || ((p_arg = arg.Param("-c")) != NULL)) { cfg_file = p_arg; } /* Try to file a config at an alternate location */ if (cfg_file.empty()) { if (!unc_getenv("UNCRUSTIFY_CONFIG", cfg_file)) { string home; if (unc_homedir(home)) { struct stat tmp_stat; string path; path = home + "/uncrustify.cfg"; if (stat(path.c_str(), &tmp_stat) == 0) { cfg_file = path; } else { path = home + "/.uncrustify.cfg"; if (stat(path.c_str(), &tmp_stat) == 0) { cfg_file = path; } } } } } /* Get the parsed file name */ if (((parsed_file = arg.Param("--parsed")) != NULL) || ((parsed_file = arg.Param("-p")) != NULL)) { LOG_FMT(LNOTE, "Will export parsed data to: %s\n", parsed_file); } /* Enable log sevs? */ if (arg.Present("-s") || arg.Present("--show")) { log_show_sev(true); } /* Load the config file */ set_option_defaults(); /* Load type files */ idx = 0; while ((p_arg = arg.Params("-t", idx)) != NULL) { load_keyword_file(p_arg); } /* add types */ idx = 0; while ((p_arg = arg.Params("--type", idx)) != NULL) { add_keyword(p_arg, CT_TYPE); } /* Load define files */ idx = 0; while ((p_arg = arg.Params("-d", idx)) != NULL) { load_define_file(p_arg); } /* add defines */ idx = 0; while ((p_arg = arg.Params("--define", idx)) != NULL) { add_define(p_arg, NULL); } /* Check for a language override */ if ((p_arg = arg.Param("-l")) != NULL) { cpd.lang_flags = language_from_tag(p_arg); if (cpd.lang_flags == 0) { LOG_FMT(LWARN, "Ignoring unknown language: %s\n", p_arg); } else { cpd.lang_forced = true; } } /* Get the source file name */ if (((source_file = arg.Param("--file")) == NULL) && ((source_file = arg.Param("-f")) == NULL)) { // not using a single file, source_file is NULL } if (((source_list = arg.Param("--files")) == NULL) && ((source_list = arg.Param("-F")) == NULL)) { // not using a file list, source_list is NULL } const char *prefix = arg.Param("--prefix"); const char *suffix = arg.Param("--suffix"); bool no_backup = arg.Present("--no-backup"); bool replace = arg.Present("--replace"); bool keep_mtime = arg.Present("--mtime"); bool update_config = arg.Present("--update-config"); bool update_config_wd = arg.Present("--update-config-with-doc"); bool detect = arg.Present("--detect"); /* Grab the output override */ output_file = arg.Param("-o"); LOG_FMT(LDATA, "config_file = %s\n", cfg_file.c_str()); LOG_FMT(LDATA, "output_file = %s\n", (output_file != NULL) ? output_file : "null"); LOG_FMT(LDATA, "source_file = %s\n", (source_file != NULL) ? source_file : "null"); LOG_FMT(LDATA, "source_list = %s\n", (source_list != NULL) ? source_list : "null"); LOG_FMT(LDATA, "prefix = %s\n", (prefix != NULL) ? prefix : "null"); LOG_FMT(LDATA, "suffix = %s\n", (suffix != NULL) ? suffix : "null"); LOG_FMT(LDATA, "replace = %d\n", replace); LOG_FMT(LDATA, "no_backup = %d\n", no_backup); LOG_FMT(LDATA, "detect = %d\n", detect); if (replace || no_backup) { if ((prefix != NULL) || (suffix != NULL)) { usage_exit("Cannot use --replace with --prefix or --suffix", argv[0], 66); } if ((source_file != NULL) || (output_file != NULL)) { usage_exit("Cannot use --replace or --no-backup with -f or -o", argv[0], 66); } } else { if ((prefix == NULL) && (suffix == NULL)) { suffix = ".uncrustify"; } } /* Try to load the config file, if available. * It is optional for "--universalindent" and "--detect", but required for * everything else. */ if (!cfg_file.empty()) { cpd.filename = cfg_file.c_str(); if (load_option_file(cpd.filename) < 0) { usage_exit("Unable to load the config file", argv[0], 56); } } if (arg.Present("--universalindent")) { FILE *pfile = stdout; if (output_file != NULL) { pfile = fopen(output_file, "w"); if (pfile == NULL) { fprintf(stderr, "Unable to open %s for write: %s (%d)\n", output_file, strerror(errno), errno); return(EXIT_FAILURE); } } print_universal_indent_cfg(pfile); return(EXIT_SUCCESS); } if (detect) { file_mem fm; if ((source_file == NULL) || (source_list != NULL)) { fprintf(stderr, "The --detect option requires a single input file\n"); return(EXIT_FAILURE); } /* Do some simple language detection based on the filename extension */ if (!cpd.lang_forced || (cpd.lang_flags == 0)) { cpd.lang_flags = language_from_filename(source_file); } /* Try to read in the source file */ if (load_mem_file(source_file, fm) < 0) { LOG_FMT(LERR, "Failed to load (%s)\n", source_file); cpd.error_count++; return(EXIT_FAILURE); } uncrustify_start(fm.data); detect_options(); uncrustify_end(); redir_stdout(output_file); save_option_file(stdout, update_config_wd); return(EXIT_SUCCESS); } /* Everything beyond this point requires a config file, so complain and * bail if we don't have one. */ if (cfg_file.empty()) { usage_exit("Specify the config file with '-c file' or set UNCRUSTIFY_CONFIG", argv[0], 58); } /* * Done parsing args */ if (update_config || update_config_wd) { redir_stdout(output_file); save_option_file(stdout, update_config_wd); return(0); } /* Check for unused args (ignore them) */ idx = 1; p_arg = arg.Unused(idx); /* Check args - for multifile options */ if ((source_list != NULL) || (p_arg != NULL)) { if (source_file != NULL) { usage_exit("Cannot specify both the single file option and a multi-file option.", argv[0], 67); } if (output_file != NULL) { usage_exit("Cannot specify -o with a multi-file option.", argv[0], 68); } } /* This relies on cpd.filename being the config file name */ load_header_files(); if ((source_file == NULL) && (source_list == NULL) && (p_arg == NULL)) { /* no input specified, so use stdin */ if (cpd.lang_flags == 0) { cpd.lang_flags = LANG_C; } redir_stdout(output_file); file_mem fm; if (!read_stdin(fm)) { LOG_FMT(LERR, "Failed to read stdin\n"); return(100); } cpd.filename = "stdin"; /* Done reading from stdin */ LOG_FMT(LSYS, "Parsing: %d bytes (%d chars) from stdin as language %s\n", (int)fm.raw.size(), (int)fm.data.size(), language_to_string(cpd.lang_flags)); uncrustify_file(fm, stdout, parsed_file); } else if (source_file != NULL) { /* Doing a single file */ do_source_file(source_file, output_file, parsed_file, no_backup, keep_mtime); } else { /* Doing multiple files */ if (prefix != NULL) { LOG_FMT(LSYS, "Output prefix: %s/\n", prefix); } if (suffix != NULL) { LOG_FMT(LSYS, "Output suffix: %s\n", suffix); } /* Do the files on the command line first */ idx = 1; while ((p_arg = arg.Unused(idx)) != NULL) { char outbuf[1024]; do_source_file(p_arg, make_output_filename(outbuf, sizeof(outbuf), p_arg, prefix, suffix), NULL, no_backup, keep_mtime); } if (source_list != NULL) { process_source_list(source_list, prefix, suffix, no_backup, keep_mtime); } } clear_keyword_file(); clear_defines(); return((cpd.error_count != 0) ? 1 : 0); }
int main (int argc, char **argv) { int end_of_leading_options = 0; /* First arg after any -H/-L etc. */ struct predicate *eval_tree; program_name = argv[0]; state.exit_status = 0; state.execdirs_outstanding = false; state.cwd_dir_fd = AT_FDCWD; /* Set the option defaults before we do the locale initialisation as * check_nofollow() needs to be executed in the POSIX locale. */ set_option_defaults(&options); #ifdef HAVE_SETLOCALE setlocale (LC_ALL, ""); #endif bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); atexit (close_stdout); /* Check for -P, -H or -L options. Also -D and -O, which are * both GNU extensions. */ end_of_leading_options = process_leading_options(argc, argv); if (options.debug_options & DebugStat) options.xstat = debug_stat; #ifdef DEBUG fprintf (stderr, "cur_day_start = %s", ctime (&options.cur_day_start)); #endif /* DEBUG */ /* We are now processing the part of the "find" command line * after the -H/-L options (if any). */ eval_tree = build_expression_tree(argc, argv, end_of_leading_options); /* safely_chdir() needs to check that it has ended up in the right place. * To avoid bailing out when something gets automounted, it checks if * the target directory appears to have had a directory mounted on it as * we chdir()ed. The problem with this is that in order to notice that * a file system was mounted, we would need to lstat() all the mount points. * That strategy loses if our machine is a client of a dead NFS server. * * Hence if safely_chdir() and wd_sanity_check() can manage without needing * to know the mounted device list, we do that. */ if (!options.open_nofollow_available) { #ifdef STAT_MOUNTPOINTS init_mounted_dev_list(); #endif } starting_desc = open (".", O_RDONLY #if defined O_LARGEFILE |O_LARGEFILE #endif ); if (0 <= starting_desc && fchdir (starting_desc) != 0) { close (starting_desc); starting_desc = -1; } if (starting_desc < 0) { starting_dir = xgetcwd (); if (! starting_dir) error (1, errno, _("cannot get current directory")); } process_all_startpoints(argc-end_of_leading_options, argv+end_of_leading_options); /* If "-exec ... {} +" has been used, there may be some * partially-full command lines which have been built, * but which are not yet complete. Execute those now. */ show_success_rates(eval_tree); cleanup(); return state.exit_status; }