projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cmm back end upgrades
[ghc-hetmet.git]
/
includes
/
shell-tools.c
diff --git
a/includes/shell-tools.c
b/includes/shell-tools.c
index
4aebaf9
..
82c22d3
100644
(file)
--- a/
includes/shell-tools.c
+++ b/
includes/shell-tools.c
@@
-57,7
+57,7
@@
int run(char *this, char *program, int argc, char** argv) {
/* Compute length of the flattened 'argv', including spaces! */
cmdline_len = 0;
/* Compute length of the flattened 'argv', including spaces! */
cmdline_len = 0;
- for(i = 1; i < argc; i++) {
+ for(i = 0; i < argc; i++) {
/* Note: play it safe and quote all argv strings */
/* In the worst case we have to escape every character with a \ */
cmdline_len += 1 + 2 * strlen(argv[i]) + 2;
/* Note: play it safe and quote all argv strings */
/* In the worst case we have to escape every character with a \ */
cmdline_len += 1 + 2 * strlen(argv[i]) + 2;
@@
-69,7
+69,7
@@
int run(char *this, char *program, int argc, char** argv) {
}
ptr = new_cmdline;
}
ptr = new_cmdline;
- for(i = 1; i < argc; i++) {
+ for(i = 0; i < argc; i++) {
*ptr++ = ' ';
*ptr++ = '"';
src = argv[i];
*ptr++ = ' ';
*ptr++ = '"';
src = argv[i];
@@
-83,6
+83,7
@@
int run(char *this, char *program, int argc, char** argv) {
*ptr++ = '"';
}
*ptr = '\0';
*ptr++ = '"';
}
*ptr = '\0';
+ new_cmdline = new_cmdline + 1; /* Skip the leading space */
/* Note: Used to use _spawnv(_P_WAIT, ...) here, but it suffered
from the parent intercepting console events such as Ctrl-C,
/* Note: Used to use _spawnv(_P_WAIT, ...) here, but it suffered
from the parent intercepting console events such as Ctrl-C,