extern cmd(), cmr(),cmx(), cmt();
if ((narg
= rnarg
= argc
) < 2) narg
= 2;
ptr
= argv
[1]; /* get first argument */
parg
= &argv
[2]; /* pointer to second argument */
while (c
= *ptr
++) switch(c
) {
flags
&= ~flu
; setcom(cmr
); continue;
flags
|= flu
; setcom(cmr
); continue;
top
= nptr
= nameblk
= sbrk(0);
if ((flags
& flm
) == 0) { /* DECTAPE */
printf("Tape open error\n");
if (command
!= cmr
) useerr();
if (flags
& (flm
|flc
)) useerr();
if (flags
& (flc
|flm
)) clrdir();
if (flags
& (flc
|flw
)) useerr();
printf(" mode uid gid tapa size date time name\n");
if (flags
& (flc
)) useerr();
encode(pname
,dptr
) /* pname points to the pathname
* nptr points to next location in nameblk
* dptr points to the dir entry */
dptr
->d_namep
= np
= nptr
;
if (np
> top
- NAMELEN
) {
if(sbrk(BRKINCR
) == (char *)-1) {
if((n
=strlen(pname
)) > NAMELEN
) {
printf("Pathname too long - %s\nFile ignored\n",pname
);
decode(pname
,dptr
) /* dptr points to the dir entry
* name is placed in pname[] */
strcpy(pname
, dptr
->d_namep
);