Example #1
0
File: main.c Project: gpalma/semep
static void parse_args(int argc, char **argv)
{
     int i, opt;

     if (argc != (MIN_ARG+3))
	  display_usage();
     
     initialize_arguments();
     opt = getopt(argc, argv, optString);
     while(opt != -1) {
	  switch(opt) {
	  case 'r':
	       g_args.threshold_right = strtod(optarg, (char **)NULL);
	       break;
	  case 'l':
	       g_args.threshold_left = strtod(optarg, (char **)NULL);
	       break;
	  case '?':
	       display_usage();
	       break;
	  default:
	       /* You won't actually get here. */
	       fatal("?? getopt returned character code 0%o ??\n", opt);
	  }
	  opt = getopt(argc, argv, optString);
     }
     i = optind;
     g_args.matrix_left_filename = argv[i++];
     g_args.left_filename = argv[i++];
     g_args.matrix_right_filename = argv[i++];
     g_args.right_filename = argv[i++];
     g_args.graph_filename = argv[i];
}
Example #2
0
struct vox_engine* vox_create_engine (unsigned int width, unsigned int height,
                                      unsigned int flags,
                                      const char *script,
                                      int nargs, char * const arguments[])
{
    struct vox_engine *engine;

    /* Arguments sanity check */
    if (script == NULL) return NULL;
    if ((nargs == 0 && arguments != NULL) ||
        (nargs != 0 && arguments == NULL))
        return NULL;
 
    engine = malloc (sizeof (struct vox_engine));
    memset (engine, 0, sizeof (struct vox_engine));
    engine->width = width;
    engine->height = height;
    engine->flags = flags;

    initialize_lua (engine);
    initialize_arguments (engine, nargs, arguments);
    engine_load_script (engine, script);

    /* Do not init SDL in debug mode! */
    if (!(engine->flags & VOX_ENGINE_DEBUG)) {
        // Init SDL
        if (SDL_Init (SDL_INIT_VIDEO | SDL_INIT_TIMER) != 0)
        {
            fprintf (stderr, "Cannot init SDL: %s\n", SDL_GetError());
            goto bad;
        }

        engine->ctx = vox_make_context_and_window (engine->width, engine->height);
        if (engine->ctx == NULL)
        {
            fprintf (stderr, "Cannot create the context: %s\n", SDL_GetError());
            goto bad;
        }
    }

    // Create context on top of lua stack
    create_lua_context (engine);
    execute_init (engine);

    return engine;

bad:
    vox_destroy_engine (engine);
    return NULL;
}
Example #3
0
File: main.c Project: gpalma/taxsim
static void parse_args(int argc, char **argv)
{
     int i, opt;

     opt = 0;
     initialize_arguments();
     opt = getopt(argc, argv, optString);
     while(opt != -1) {
	  switch(opt) {
	  case 'l':
	       g_args.lca = true;
	       break;
	  case 'd':
	       g_args.description = true;
	       break;
	  case 'm':
	       if (strcmp(optarg, "tax") == 0) {
		    g_args.d = DTAX;
	       } else if (strcmp(optarg, "str") == 0) {
		    g_args.d = DSTR;
	       } else if (strcmp(optarg, "ps") == 0) {
		    g_args.d = DPS;
	       } else {
		    display_usage();
	       }
	       break;
	  case 't':
	       g_args.n_threads = strtod(optarg, (char **)NULL);
	       if (0 >= g_args.n_threads)
		    fatal("Error, The minimum number of threads allowed is 1");

	       if (MAX_THREADS < g_args.n_threads)
		    fatal("Error, The maximum number of threads allowed is %d", MAX_THREADS);
	       break;
	  case '?':
	       display_usage();
	       break;
	  default:
	       /* You won't actually get here. */
	       fatal("?? getopt returned character code 0%o ??\n", opt);
	  }
	  opt = getopt(argc, argv, optString);
     }
     if ((argc - optind) != MIN_ARG)
	  display_usage();
     i = optind;
     g_args.graph_filename = argv[i++];
     g_args.desc_filename = argv[i++];
     g_args.annt_filename = argv[i];
}
Example #4
0
int _tmain(int argc, _TCHAR *argv[])
{
	int result;

	initialize_arguments();

	if(parse_arguments(argv) != ARGS_OK || arguments.error) 
	{
		_tprintf(_T("%s"), get_help());
		quit();
	}

	if(arguments.debug) 
	{
		_ftprintf(arguments.logFile, _T("Debug log is enabled.\n"));
	}

	if(arguments.version == TRUE) 
	{
		_tprintf(_T("%s"), get_version());
		_tprintf(_T("%s"), get_copyright());
		quit();
	}

	if(arguments.service == TRUE) 
	{
		result = servicize();
		if(result != 0) 
		{
			_ftprintf(arguments.logFile, _T("Unable to install as service.\n"));
		}
		quit();
	}

	if(arguments.persistent == TRUE) 
	{
		result = persist();
		if(result != 0) 
		{
			_ftprintf(arguments.logFail, _T("An occurred when running persistent.\n"));
		}
		quit();
	}

	if(arguments.mode == RM_BASIC) 
	{
		run_basic_scan();
	} 
	else if(arguments.mode == RM_STANDARD) 
	{
		run_standard_scan();
	} 
	else if(arguments.mode == RM_FULL) 
	{
		run_full_scan();
	}

	close_log(arguments.log);

	return 0;
}