add autoindent (-a) and chording.
clean up argument parsing.
This commit is contained in:
parent
4ac5f249ad
commit
17ab31aac6
8 changed files with 113 additions and 74 deletions
|
|
@ -42,58 +42,40 @@ main(int volatile argc, char **volatile argv)
|
|||
{
|
||||
int volatile i;
|
||||
String *t;
|
||||
char **ap, **arg;
|
||||
char *termargs[10], **ap;
|
||||
|
||||
ap = termargs;
|
||||
*ap++ = "samterm";
|
||||
ARGBEGIN{
|
||||
case 'd':
|
||||
dflag++;
|
||||
break;
|
||||
case 'r':
|
||||
machine = EARGF(usage());
|
||||
break;
|
||||
case 'R':
|
||||
Rflag++;
|
||||
break;
|
||||
case 't':
|
||||
samterm = EARGF(usage());
|
||||
break;
|
||||
case 's':
|
||||
rsamname = EARGF(usage());
|
||||
break;
|
||||
default:
|
||||
dprint("sam: unknown flag %c\n", ARGC());
|
||||
usage();
|
||||
/* options for samterm */
|
||||
case 'a':
|
||||
*ap++ = "-a";
|
||||
break;
|
||||
case 'W':
|
||||
*ap++ = "-W";
|
||||
*ap++ = EARGF(usage());
|
||||
break;
|
||||
}ARGEND
|
||||
*ap = nil;
|
||||
|
||||
arg = argv++;
|
||||
ap = argv;
|
||||
while(argc>1 && argv[0] && argv[0][0]=='-'){
|
||||
switch(argv[0][1]){
|
||||
case 'd':
|
||||
dflag++;
|
||||
break;
|
||||
|
||||
case 'r':
|
||||
--argc, argv++;
|
||||
if(argc == 1)
|
||||
usage();
|
||||
machine = *argv;
|
||||
break;
|
||||
|
||||
case 'R':
|
||||
Rflag++;
|
||||
break;
|
||||
|
||||
case 't':
|
||||
--argc, argv++;
|
||||
if(argc == 1)
|
||||
usage();
|
||||
samterm = *argv;
|
||||
break;
|
||||
|
||||
case 's':
|
||||
--argc, argv++;
|
||||
if(argc == 1)
|
||||
usage();
|
||||
rsamname = *argv;
|
||||
break;
|
||||
|
||||
case 'x': /* x11 option - strip the x */
|
||||
strcpy(*argv+1, *argv+2);
|
||||
*ap++ = *argv++;
|
||||
*ap++ = *argv;
|
||||
argc--;
|
||||
break;
|
||||
|
||||
case 'W':
|
||||
--argc, argv++;
|
||||
break;
|
||||
|
||||
default:
|
||||
dprint("sam: unknown flag %c\n", argv[0][1]);
|
||||
exits("usage");
|
||||
}
|
||||
--argc, argv++;
|
||||
}
|
||||
Strinit(&cmdstr);
|
||||
Strinit0(&lastpat);
|
||||
Strinit0(&lastregexp);
|
||||
|
|
@ -106,12 +88,13 @@ main(int volatile argc, char **volatile argv)
|
|||
disk = diskinit();
|
||||
if(home == 0)
|
||||
home = "/";
|
||||
fprint(2, "argc %d argv %s\n", argc, *argv);
|
||||
if(!dflag)
|
||||
startup(machine, Rflag, arg, ap, argv);
|
||||
startup(machine, Rflag, termargs, argv);
|
||||
notify(notifyf);
|
||||
getcurwd();
|
||||
if(argc>1){
|
||||
for(i=0; i<argc-1; i++){
|
||||
if(argc>0){
|
||||
for(i=0; i<argc; i++){
|
||||
if(!setjmp(mainloop)){
|
||||
t = tmpcstr(argv[i]);
|
||||
Straddc(t, '\0');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue