mcexec: use optind instead of shifting argv[] for arguments passing to remote app

This commit is contained in:
Balazs Gerofi bgerofi@riken.jp
2014-05-27 17:52:56 +09:00
parent 4f32042c5f
commit 2331309d2f

View File

@ -772,21 +772,14 @@ int main(int argc, char **argv)
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
/* Shift arguments to the front */
for (a = argv + optind; *a; a++) {
a[- optind + 1] = a[0];
}
argv[argc - optind + 2] = NULL;
argc -= (optind);
__dprintf("target_core: %d, device: %s, command: ", target_core, dev); __dprintf("target_core: %d, device: %s, command: ", target_core, dev);
for (i = 1; i < argc; ++i) { for (i = optind; i < argc; ++i) {
__dprintf("%s ", argv[i]); __dprintf("%s ", argv[i]);
} }
__dprintf("\n"); __dprintf("\n");
if (load_elf_desc(argv[1], &desc) != 0) { if (load_elf_desc(argv[optind], &desc) != 0) {
fprintf(stderr, "error: loading file: %s\n", argv[1]); fprintf(stderr, "error: loading file: %s\n", argv[optind]);
return 1; return 1;
} }
@ -794,7 +787,7 @@ int main(int argc, char **argv)
desc->envs = envs; desc->envs = envs;
//print_flat(envs); //print_flat(envs);
desc->args_len = flatten_strings(-1, argv + 1, &args); desc->args_len = flatten_strings(-1, argv + optind, &args);
desc->args = args; desc->args = args;
//print_flat(args); //print_flat(args);