1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 01:48:00 +00:00

Added two simple command-line arguments: -fn (so I can have my Font

Of Choice back :-) and -e to run a command other than $SHELL.

[originally from svn r2037]
This commit is contained in:
Simon Tatham 2002-10-13 12:54:17 +00:00
parent 0dff7f90da
commit bacc5cf102
2 changed files with 31 additions and 2 deletions

View File

@ -1111,11 +1111,36 @@ int main(int argc, char **argv)
{
GtkWidget *window;
extern int pty_master_fd; /* declared in pty.c */
extern char **pty_argv; /* declared in pty.c */
int err = 0;
gtk_init(&argc, &argv);
do_defaults(NULL, &cfg);
while (--argc > 0) {
char *p = *++argv;
if (!strcmp(p, "-fn")) {
if (--argc > 0) {
strncpy(cfg.font, *++argv, sizeof(cfg.font));
cfg.font[sizeof(cfg.font)-1] = '\0';
} else
err = 1, fprintf(stderr, "pterm: -fn expects an argument\n");
}
if (!strcmp(p, "-e")) {
if (--argc > 0) {
int i;
pty_argv = smalloc((argc+1) * sizeof(char *));
++argv;
for (i = 0; i < argc; i++)
pty_argv[i] = argv[i];
pty_argv[argc] = NULL;
break; /* finished command-line processing */
} else
err = 1, fprintf(stderr, "pterm: -e expects an argument\n");
}
}
inst->fonts[0] = gdk_font_load(cfg.font);
inst->fonts[1] = NULL; /* FIXME: what about bold font? */
inst->font_width = gdk_char_width(inst->fonts[0], ' ');

View File

@ -20,6 +20,7 @@
#endif
int pty_master_fd;
char **pty_argv;
static void pty_size(void);
@ -87,11 +88,14 @@ static char *pty_init(char *host, int port, char **realhost, int nodelay)
dup2(slavefd, 2);
setsid();
setpgrp();
tcsetpgrp(0, getpgrp());
tcsetpgrp(slavefd, getpgrp());
/* Close everything _else_, for tidiness. */
for (i = 3; i < 1024; i++)
close(i);
execl(getenv("SHELL"), getenv("SHELL"), NULL);
if (pty_argv)
execvp(pty_argv[0], pty_argv);
else
execl(getenv("SHELL"), getenv("SHELL"), NULL);
/*
* If we're here, exec has gone badly foom.
*/