msg("\nDownload file listing from the %s branch\n\nSupported transfer protocols are: Ascii, Xmodem, and Kermit.\nXmodem protocol uses checksums; CCITT CRC is not supported.\n\nEnter File Transfer Protocol (XMODEM default): ", upstr(branch));
if (pgetin(cmd, NULL) == NULL)
return;
log("List dnld mode: %s", cmd);
switch (cmd[0]) {
case 'A':
case 'a':
if (!validudl(A_DOWNLOAD)) {
msg("\nAscii Download is not supported.\n");
log("No Ascii");
return;
}
sprintf(cmd, A_DOWNLOAD, listfile);
break;
case 'K':
case 'k':
if (!validudl(K_DOWNLOAD)) {
msg("\nKermit Download is not supported.\n");
log("No Kermit");
return;
}
sprintf(cmd, K_DOWNLOAD, listfile);
break;
case 'X':
case 'x':
if (!validudl(X_DOWNLOAD)) {
msg("\nXModem Download is not supported.\n");
log("No Xmodem");
return;
}
sprintf(cmd, X_DOWNLOAD, listfile);
break;
case '\0':
cmd[0] = 'X';
if (!validudl(X_DOWNLOAD)) {
msg("\nXModem Download is not supported.\n");
log("No Xmodem");
return;
}
sprintf(cmd, X_DOWNLOAD, listfile);
break;
default:
msg("Invalid protocol designation.\n");
return;
}
sprintf(path, "%s/%s", LIBRARY, branch);
directory = opendir(path);
fprintf(list, "File Directory for the %s Branch:\r\n\r\n", upstr(branch));
while ((file = readdir(directory)) != NULL) {
if ((desc = whatis(branch, file->d_name)) == NULL)
msg("Supported transfer protocols are: Ascii, Xmodem, and Kermit.\nXmodem protocol uses checksums; CCITT CRC is not supported.\n\nEnter File Transfer Protocol (XMODEM default): ", upstr(branch));
if (pgetin(cmd, NULL) == NULL)
return;
switch (cmd[0]) {
case 'A':
case 'a':
if (!validudl(A_DOWNLOAD)) {
msg("\nAscii Download is not supported.\n");
log("No Ascii");
return;
}
sprintf(cmd, A_DOWNLOAD, path);
break;
case 'K':
case 'k':
if (!validudl(K_DOWNLOAD)) {
msg("\nKermit Download is not supported.\n");
log("No Kermit");
return;
}
sprintf(cmd, K_DOWNLOAD, path);
break;
case 'X':
case 'x':
if (!validudl(X_DOWNLOAD)) {
msg("\nXModem Download is not supported.\n");
log("No Xmodem");
return;
}
sprintf(cmd, X_DOWNLOAD, path);
break;
case '\0':
cmd[0] = 'X';
if (!validudl(X_DOWNLOAD)) {
msg("\nXModem Download is not supported.\n");
log("No Xmodem");
return;
}
sprintf(cmd, X_DOWNLOAD, path);
break;
default:
msg("Invalid protocol designation.\n");
return;
}
msg("You have 30 seconds to prepare for file transmission.\nPress BREAK to abort transmission.\n\n");
msg("Supported transfer protocols are: Ascii, Xmodem, and Kermit.\nXmodem protocol uses checksums; CCITT CRC is not supported.\n\nEnter File Transfer Protocol (XMODEM default): ", upstr(branch));
if (pgetin(cmd, NULL) == NULL)
return;
log("Upld protocol: %s", cmd);
switch (cmd[0]) {
case 'A':
case 'a':
if (!validudl(A_UPLOAD)) {
msg("\nAscii Upload is not supported.\n");
log("No Ascii");
return;
}
sprintf(cmd, A_UPLOAD, path);
break;
case 'K':
case 'k':
if (!validudl(K_UPLOAD)) {
msg("\nKermit Upload is not supported.\n");
log("No Kermit");
return;
}
sprintf(cmd, K_UPLOAD, path);
break;
case 'X':
case 'x':
if (!validudl(X_UPLOAD)) {
msg("\nXModem Upload is not supported.\n");
log("No Xmodem");
return;
}
sprintf(cmd, X_UPLOAD, path);
break;
case '\0':
cmd[0] = 'X';
if (!validudl(X_UPLOAD)) {
msg("\nXModem Upload is not supported.\n");
log("No Xmodem");
return;
}
sprintf(cmd, X_UPLOAD, path);
break;
default:
msg("Invalid protocol designation.\n");
return;
}
msg("You have 30 seconds to prepare for file transmission.\nPress BREAK to abort transmission.\n\n");
fflush(stdout);
sleep(30);
oldsig = signal(SIGINT, SIG_IGN);
system(cmd);
#ifdef SYS3
system("stty echoe");
#endif SYS3
signal(SIGINT, oldsig);
}
/*
* The following code is snarfed from UNaXcess V1.0, primarily as a test.
* Some audacious soul may want to backport this to the rest of UA...