1 int mono_main (int argc, char* argv[]);
9 static char **mono_options = NULL;
11 static int count_mono_options_args (void)
13 const char *e = getenv ("MONO_BUNDLED_OPTIONS");
20 /* Don't bother with any quoting here. It is unlikely one would
21 * want to pass options containing spaces anyway.
26 while ((q = strchr (p, ' ')) != NULL) {
31 mono_options = malloc (sizeof (char *) * (n + 1));
35 while ((q = strchr (p, ' ')) != NULL) {
36 mono_options[i] = malloc ((q - p) + 1);
37 memcpy (mono_options[i], p, q - p);
38 mono_options[i][q - p] = '\0';
42 mono_options[i++] = strdup (p);
43 mono_options[i] = NULL;
49 int main (int argc, char* argv[])
54 newargs = (char **) malloc (sizeof (char *) * (argc + 2 + count_mono_options_args ()));
56 newargs [k++] = argv [0];
58 if (mono_options != NULL) {
60 while (mono_options[i] != NULL)
61 newargs[k++] = mono_options[i++];
64 newargs [k++] = image_name;
66 for (i = 1; i < argc; i++) {
67 newargs [k++] = argv [i];
71 if (config_dir != NULL && getenv ("MONO_CFG_DIR") == NULL)
72 mono_set_dirs (getenv ("MONO_PATH"), config_dir);
76 return mono_main (k, newargs);