- case 'W': {
- char *split, *cmd;
- size_t sz;
-
- split = strchr(optarg, ':');
- if (!split) {
- log_err("fio: trigger is file:command\n");
- do_exit++;
- exit_val = 1;
- }
-
- sz = split - optarg;
- trigger_file = calloc(1, sz + 1);
- strncpy(trigger_file, optarg, sz);
-
- split++;
- cmd = trigger_cmd = strdup(split);
- strip_blank_front(&trigger_cmd);
- strip_blank_end(trigger_cmd);
- if (strlen(trigger_cmd) == 0) {
- free(cmd);
- trigger_cmd = NULL;
- }
+ case 'W':
+ if (trigger_file)
+ free(trigger_file);
+ trigger_file = strdup(optarg);
+ break;
+ case 'H':
+ if (trigger_cmd)
+ free(trigger_cmd);
+ trigger_cmd = strdup(optarg);
+ break;
+ case 'J':
+ if (trigger_remote_cmd)
+ free(trigger_remote_cmd);
+ trigger_remote_cmd = strdup(optarg);