int main( int argc, char **argv ) /*******************************/ { argc = argc; #ifndef __WATCOMC__ _argv = argv; _argc = argc; #endif #else int main( void ) /**************/ { char *argv[2]; int len; char *buff; #endif main_init(); SwitchChar = _dos_switch_char(); #ifndef __UNIX__ len = _bgetcmd( NULL, INT_MAX ) + 1; buff = malloc( len ); if( buff != NULL ) { argv[0] = buff; argv[1] = NULL; _bgetcmd( buff, len ); } else { return( -1 ); } do_init_stuff( argv ); #else do_init_stuff( &argv[1] ); #endif SetMemoryModel(); WriteObjModule(); // main body: parse the source file MsgFini(); main_fini(); #ifndef __UNIX__ free( buff ); #endif return( Options.error_count ); /* zero if no errors */ }
/** * Linux main */ int main(int argc, char **argv) { gconf.binary = argv[0]; posix_init(); XInitThreads(); hts_mutex_init(&gdk_mutex); g_thread_init(NULL); gdk_threads_set_lock_functions(gdk_obtain, gdk_release); gdk_threads_init(); gdk_threads_enter(); gtk_init(&argc, &argv); parse_opts(argc, argv); linux_init(); main_init(); if(gconf.ui && !strcmp(gconf.ui, "gu")) ui_wanted = &ui_gu; glibcourier = glib_courier_create(g_main_context_default()); prop_subscribe(0, PROP_TAG_NAME("global", "eventSink"), PROP_TAG_CALLBACK_EVENT, linux_global_eventsink, NULL, PROP_TAG_COURIER, glibcourier, NULL); add_xdg_paths(); mainloop(); main_fini(); arch_exit(); }