char Path
[100], Optns
[10];
char *sysfile1
, *sysfile2
, *cp
;
char file1
[MAXFULLNAME
], file2
[MAXFULLNAME
];
while(argc
>1 && argv
[1][0] == '-'){
fprintf(stderr
, "-e option removed\n");
Grade
= argv
[1][2]; break;
Spool
= &argv
[1][2]; break;
Debug
= atoi(&argv
[1][2]);
printf("unknown flag %s\n", argv
[1]); break;
DEBUG(4, "\n\n** %s **\n", "START");
ASSERT(ret
== 0, "GWD FAILED %d", ret
);
ret
= guinfo(Uid
, User
, Path
);
ASSERT(ret
== 0, "CAN NOT FIND UID %d\n", Uid
);
DEBUG(4, "UID %d, ", Uid
);
DEBUG(4, "User %s,", User
);
DEBUG(4, "PATH %s\n", Path
);
fprintf(stderr
, "usage uucp from ... to\n");
/* set up "to" system and file names */
if ((cp
= index(argv
[argc
- 1], '!')) != NULL
) {
sysfile2
= argv
[argc
- 1];
sprintf(Rmtname
, "%.7s", sysfile2
);
if (versys(sysfile2
) != 0) {
fprintf(stderr
, "bad system name: %s\n", sysfile2
);
strcpy(file2
, argv
[argc
- 1]);
/* do each from argument */
if ((cp
= index(argv
[1], '!')) != NULL
) {
sprintf(Rmtname
, "%.7s", sysfile1
);
if (versys(sysfile1
) != 0) {
fprintf(stderr
, "bad system name: %s\n", sysfile1
);
DEBUG(4, "file1 - %s\n", file1
);
copy(sysfile1
, file1
, sysfile2
, file2
);
* copy(s1, f1, s2, f2) generate copy files
* char *s1, *f1, *s2, *f2;
char cfile
[NAMESIZE
], dfile
[NAMESIZE
];
char file1
[MAXFULLNAME
], file2
[MAXFULLNAME
];
if (strcmp(s1
, Myname
) != SAME
)
if (strcmp(s2
, Myname
) != SAME
)
if ((index(file1
, '*') != NULL
|| index(file1
, '?') != NULL
|| index(file1
, '[') != NULL
))
DEBUG(4, "all work here %d\n", type
);
if (chkpth(User
, "", file1
) != 0
|| chkpth(User
, "", file2
) != 0) {
fprintf(stderr
, "permission denied\n");
logent("WORK HERE", "DONE");
DEBUG(4, "receive file - %d\n", type
);
if (chkpth(User
, "", file2
) != 0) {
fprintf(stderr
, "permission denied\n");
gename(CMDPRE
, s1
, Grade
, cfile
);
ASSERT(cfp
!= NULL
, "CAN NOT OPEN %s", cfile
);
fprintf(cfp
, "R %s %s %s %s\n", file1
, file2
, User
, Optns
);
DEBUG(4, "send file - %d\n", type
);
gename(CMDPRE
, s2
, Grade
, cfile
);
if (chkpth(User
, "", file1
) != 0) {
fprintf(stderr
, "permission denied %s\n", file1
);
ret
= stat(file1
, &stbuf
);
if ((stbuf
.st_mode
& S_IFMT
) == S_IFDIR
) {
fprintf(stderr
, "directory name illegal - %s\n",
if (xcp(file1
, dfile
) != 0) {
fprintf(stderr
, "can't copy %s\n", file1
);
if ((stbuf
.st_mode
& 04) == 0) {
fprintf(stderr
, "uucico can't access %s (-c specified)\n", file1
);
ASSERT(cfp
!= NULL
, "CAN NOT OPEN %s", cfile
);
fprintf(cfp
, "S %s %s %s %s %s %o\n", file1
, file2
,
User
, Optns
, dfile
, stbuf
.st_mode
& 0777);
/* send uucp command for execution on s2 */
DEBUG(4, "send uucp command - %d\n", type
);
if (strcmp(s2
, Myname
) == SAME
) {
if (chkpth(User
, "", file2
) != 0) {
fprintf(stderr
, "permission denied\n");
gename(CMDPRE
, s1
, Grade
, cfile
);
ASSERT(cfp
!= NULL
, "CAN NOT OPEN %s", cfile
);
fprintf(cfp
, "X %s %s!%s\n", file1
, s2
, file2
);