1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-03-12 18:13:50 -05:00

Patch to enable >512-character command lines. Thanks to Thomas Halling.

[originally from svn r1567]
This commit is contained in:
Simon Tatham 2002-02-27 22:31:23 +00:00
parent 6e1ac92194
commit a05d76fb1f

39
plink.c
View File

@ -422,25 +422,32 @@ int main(int argc, char **argv)
}
}
} else {
int len = sizeof(cfg.remote_cmd) - 1;
char *cp = cfg.remote_cmd;
int len2;
char *command;
int cmdlen, cmdsize;
cmdlen = cmdsize = 0;
command = NULL;
strncpy(cp, p, len);
cp[len] = '\0';
len2 = strlen(cp);
len -= len2;
cp += len2;
while (--argc) {
if (len > 0)
len--, *cp++ = ' ';
strncpy(cp, *++argv, len);
cp[len] = '\0';
len2 = strlen(cp);
len -= len2;
cp += len2;
while (argc) {
while (*p) {
if (cmdlen >= cmdsize) {
cmdsize = cmdlen + 512;
command = srealloc(command, cmdsize);
}
command[cmdlen++]=*p++;
}
if (cmdlen >= cmdsize) {
cmdsize = cmdlen + 512;
command = srealloc(command, cmdsize);
}
command[cmdlen++]=' '; /* always add trailing space */
if (--argc) p = *++argv;
}
if (cmdlen) command[--cmdlen]='\0';
/* change trailing blank to NUL */
cfg.remote_cmd_ptr = command;
cfg.remote_cmd_ptr2 = NULL;
cfg.nopty = TRUE; /* command => no terminal */
break; /* done with cmdline */
}
}