if (!(subset & 06777) && (perms &~ subset)) {
printf("chmod: file mode '%.*s' contains no user/group/other"
" specifier and permissions other than 't' \n",
- strcspn(modebegin, ","), modebegin, *mode);
+ strcspn(modebegin, ","), modebegin);
return 0;
}
perms &= subset;
/*
* Enact command-line overrides.
*/
- cmdline_run_saved();
+ cmdline_run_saved(&cfg);
/*
* Trim leading whitespace off the hostname if it's there.
void cmdline_error(char *p, ...)
{
va_list ap;
- fprintf(stderr, "pscp: ");
+ fprintf(stderr, "psftp: ");
va_start(ap, p);
vfprintf(stderr, p, ap);
va_end(ap);
- fputc('\n', stderr);
+ fprintf(stderr, "\n try typing \"psftp -h\" for help\n");
exit(1);
}
int mode = 0;
int modeflags = 0;
char *batchfile = NULL;
+ int errors = 0;
flags = FLAG_STDERR | FLAG_INTERACTIVE;
cmdline_tooltype = TOOLTYPE_FILETRANSFER;
userhost = user = NULL;
+ errors = 0;
for (i = 1; i < argc; i++) {
int ret;
if (argv[i][0] != '-') {
userhost = dupstr(argv[i]);
continue;
}
- ret = cmdline_process_param(argv[i], i+1<argc?argv[i+1]:NULL, 1);
+ ret = cmdline_process_param(argv[i], i+1<argc?argv[i+1]:NULL, 1, &cfg);
if (ret == -2) {
cmdline_error("option \"%s\" requires an argument", argv[i]);
} else if (ret == 2) {
i++;
break;
} else {
- usage();
+ cmdline_error("unknown option \"%s\"", argv[i]);
}
}
argc -= i;