ln: fixed command line parser. Added support for "--"

This commit is contained in:
Pavel Roskin
2000-06-15 18:04:40 +00:00
parent 3f75503fa0
commit 2e965239ee
3 changed files with 26 additions and 17 deletions

View File

@ -51,16 +51,14 @@ extern int ln_main(int argc, char **argv)
{
char *linkName;
int linkIntoDirFlag;
int stopIt = FALSE;
if (argc < 3) {
usage(ln_usage);
}
argc--;
argv++;
/* Parse any options */
while (--argc >= 0 && *argv && **argv) {
while (**argv == '-') {
while (argc > 0 && stopIt == FALSE) {
if (**argv == '-') {
while (*++(*argv))
switch (**argv) {
case 's':
@ -72,15 +70,21 @@ extern int ln_main(int argc, char **argv)
case 'n':
followLinks = FALSE;
break;
case '-':
stopIt = TRUE;
break;
default:
usage(ln_usage);
}
argc--;
argv++;
}
argv++;
else
break;
}
if (argc < 1) {
fatalError("ln: missing file argument\n");
if (argc < 2) {
usage(ln_usage);
}
linkName = argv[argc - 1];