Instead of main() living in uxputty.c and uxpterm.c, and doing a
little bit of setup before calling the larger pt_main() in gtkmain.c,
I've now turned things backwards: the big function in gtkmain.c *is*
main(), and the small pieces of preliminary setup in uxputty.c and
uxpterm.c are now a function called setup() which is called from
there. This will allow me to reuse the rest of ux{putty,pterm}.c, i.e.
the assorted top-level bits and pieces that distinguish PuTTY from
pterm, in the upcoming OS X application that will have its own main().
extern int cfgbox(Conf *conf);
-int pt_main(int argc, char **argv)
+int main(int argc, char **argv)
{
Conf *conf;
int need_config_box;
setlocale(LC_CTYPE, "");
+ {
+ /* Call the function in ux{putty,pterm}.c to do app-type
+ * specific setup */
+ extern void setup(int);
+ setup(TRUE); /* TRUE means we are a one-session process */
+ }
+
progname = argv[0];
/*
return dupstr("pterm");
}
-int main(int argc, char **argv)
+void setup(int single)
{
- extern int pt_main(int argc, char **argv);
extern void pty_pre_init(void); /* declared in pty.c */
- int ret;
cmdline_tooltype = TOOLTYPE_NONNETWORK;
default_protocol = -1;
- pty_pre_init();
-
- ret = pt_main(argc, argv);
- cleanup_exit(ret);
- return ret; /* not reached, but placates optimisers */
+ if (single)
+ pty_pre_init();
}
const int share_can_be_downstream = TRUE;
const int share_can_be_upstream = TRUE;
-int main(int argc, char **argv)
+void setup(int single)
{
- extern int pt_main(int argc, char **argv);
- int ret;
-
sk_init();
flags = FLAG_VERBOSE | FLAG_INTERACTIVE;
default_protocol = be_default_protocol;
if (b)
default_port = b->default_port;
}
- ret = pt_main(argc, argv);
- cleanup_exit(ret);
- return ret; /* not reached, but placates optimisers */
}